我有一个PostGIS数据库,其中有几张表,这些表的外键与一个保存主键的表有关。我必须将某些select ..应用于这些表中的每个表,我可以循环遍历主键表以完成它吗? 甚至不使用主外键关系就可以做到吗? 我找不到有关在数据库内部进行迭代的任何信息,我们将不胜感激。
答案 0 :(得分:0)
在Postgres中跨多个表执行查询的最有效方式是使用join语句。 https://www.postgresql.org/docs/current/tutorial-join.html
执行多个查询,每个查询一个,然后在您的应用程序逻辑内,汇总结果,然后遍历汇总以实现例如SELECT
或ORDER BY
语句比使用单个查询效率低。
在要连接的表的外键上设置索引将大大提高查询的性能。您还可以通过扩展服务器上的CPU和RAM或使用类似Citus之类的工具在多个服务器上水平扩展数据库来提高查询性能。