sql - 用编程语言循环sql查询可以吗

标签 sql postgresql

从数据库中检索数据时,我心中有疑问。 有两个表和主表 ID 总是插入到其他表。

我知道可以通过连接从两个表中检索数据,但想知道, 如果我首先从主表中检索所有我想要的数据,然后循环(以编程语言)连接到其他表并检索数据,那么这是有效的,为什么。

最佳答案

就效率而言,规则是您希望尽量减少往返数据库的次数,因为每次往返都会增加很多时间。 (如果数据库与调用它的应用程序在同一个盒子上,这可能没什么大不了的。在我生活的世界里,数据库永远不会与应用程序在同一个盒子上。)让你的应用程序循环意味着你做了一个主表中的每一行都要访问数据库,因此您的操作所花费的时间会随着主表行的数量线性增长。

请注意,在开发或测试环境中,如果没有太多测试数据,您可能会遇到低效查询。在生产中,您可能会看到比测试时多得多的数据。

关于sql - 用编程语言循环sql查询可以吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171940/

相关文章:

MySQL JSON 数组中的Where in 条件

mysql - 如何更新这个?

SQL SUM、CASE 和 DISTINCT

ruby - pg gem 中 SSL 支持的运行时检测

ruby-on-rails - 如何在 Rails 中编写 "distinct on"查找器方法?

postgresql - AWS ElasticBeanstalk amazon linux pg_config 与 psycopg2 错误

sql - TRIM 不是可识别的内置函数名称

sql - MySQL多表查询问题

sql - 访问postgresql中的列别名

macos - 忘记了 Postgresql 的密码 - 重置密码 - Mac OS X Leopard