Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL在不同的查询中得到相同的解释_Postgresql - Fatal编程技术网

PostgreSQL在不同的查询中得到相同的解释

PostgreSQL在不同的查询中得到相同的解释,postgresql,Postgresql,我有一些复杂的查询将产生相同的结果。唯一的区别是执行顺序。例如,一个查询在联接之前先执行选择,而另一个查询先执行联接,然后执行选择。但是,当我阅读解释时(在“解释”选项卡上,使用PgAdmin III),两个查询都有相同的图表。 为什么?我不擅长用所有正确的术语来解释这一点,但本质上,预处理试图找到执行语句的最有效方式。它通过将它们分解为更简单的子语句来实现这一点——仅仅因为您以一种方式编写它并不意味着预处理将执行计划的顺序相同。有点像算术的优先级(括号、乘法、除法等) 某些操作会影响语句的执行

我有一些复杂的查询将产生相同的结果。唯一的区别是执行顺序。例如,一个查询在联接之前先执行选择,而另一个查询先执行联接,然后执行选择。但是,当我阅读解释时(在“解释”选项卡上,使用PgAdmin III),两个查询都有相同的图表。
为什么?

我不擅长用所有正确的术语来解释这一点,但本质上,预处理试图找到执行语句的最有效方式。它通过将它们分解为更简单的子语句来实现这一点——仅仅因为您以一种方式编写它并不意味着预处理将执行计划的顺序相同。有点像算术的优先级(括号、乘法、除法等)


某些操作会影响语句的执行顺序,从而使您能够“调优”查询以提高效率

我不擅长用所有正确的术语来解释这一点,但本质上,预处理试图找到执行语句的最有效方式。它通过将它们分解为更简单的子语句来实现这一点——仅仅因为您以一种方式编写它并不意味着预处理将执行计划的顺序相同。有点像算术的优先级(括号、乘法、除法等)

某些操作会影响语句的执行顺序,从而使您能够“调优”查询以提高效率