如何知道PostgreSQL中函数的执行顺序?

lmyy7pcs  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(321)

例如,我被告知WHERE将在GROUP BY之前执行,HAVING将在之后执行,所以代码行应该按照这个顺序编写。我怎么知道或者从哪里读来知道PostgreSQL(或其他类型的SQL)中的所有函数是按照什么顺序编写和执行的?

gr8qqesn

gr8qqesn1#

SQL标准规定了SELECT语句不同部分求值的逻辑顺序,您应该从任何有关该主题的好书中了解这一点。
但请注意,实际执行可能会有所不同。例如,WHERE条件可以在FROM子句完成 * 之前 * 执行,即使逻辑顺序正好相反。只要不更改查询结果,这种转换就可以。
要查看单个查询中操作的执行顺序,请查看查询的 * 执行计划 *,该计划可以通过PostgreSQL中的EXPLAIN命令获得。

相关问题