50.1. The Path of a Query

Posted 丹心明月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了50.1. The Path of a Query相关的知识,希望对你有一定的参考价值。

50.1 查询执行路径

为获得结果集,查询所需要的经过的解析阶段:

  1. 建立从应用程序到PostgreSQL服务的连接。应用程序发送查询到数据库服务,并等待数据库服务发回查询结果。

  2. 解析阶段(parse stage)检查应用程序发送的查询的语法并生成查询树(query tree);

  3. 重写系统(rewrite system)使用解析阶段生成的查询树,然后检索是否有需要应用到查询树的规则(存储在系统视图中)。如果有,根据规则改写。

    1. 重写系统的一个应用是视图(view)。当查询视图时,重写系统会将用户的查询重写到查询视图定义中指定的基表。

  4. 计划器(planner)或优化器(optimizer)使用查询树生成作为执行器输入的查询计划(query plan)。

    1. 首先创建具有相同结果的所有可能的路径。例如,如果表上有一个可被检索的索引,那么就有两种检索方式:一种是简单的顺序扫描;一种是使用索引。

    2. 然后对每种路径的执行成本进行计算,并选择成本最低的路径;

    3. 成本最低的路径扩展为执行器可用的完整的计划;

  5. 执行器根据执行树执行,并据此检索行。执行器在检索对象时使用存储系统,并进行排序和联接,评估限定符并最终返回结果行。

接下来的章节会对以上的条目进行深入探讨。

以上是关于50.1. The Path of a Query的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server捕获发生The query processor ran out of internal resources and could not produce a query plan..

问题记录系列the resource is not on the build path of a java project

the resource is not on the build path of a Java project报错解决

Given a matrix, get the number of path from the top left cell to the top right cell.

A cycle was detected in the build path of project

A cycle was detected in the build path of project