1.1 概述
在PostgreSQL中,尽管9.6版本中实现的并行查询使用了多个后台工作进程,但一个后端进程基本上处理连接的客户端发出的所有查询。
解析器 Parser
解析器从明文的SQL语句生成解析树。
分析仪/分析仪 Analyzer
分析器/分析器对解析树进行语义分析,生成查询树。
重写器 Rewriter
重写器使用存储在规则体系rules
计划员 Planner
计划员从查询树中生成最有效执行的计划树。
执行者 Executor
执行器通过按照计划树创建的顺序访问表和索引来执行查询。
图3.1 查询过程
1.1.1 Parser
解析器从明文的SQL语句中生成一个可供后续子系统读取的解析树,这里是一个具体的例子,不做详细说明。
让我们考虑下面显示的查询。
testdb=# SELECT id, data FROM tbl_a WHERE id < 300 ORDER BY data;
解析树是指根节点为