postgresql第一篇:postgresql收到一条sql语句后做了什么
询问chatgpt【在postgresql官方文档中,能不能看到关于postgresql如何执行一条sql语句的描述】,得到答案:
The query is parsed by the parser, rewritten by the rule system, planned/optimized by the planner, and finally executed by the executor.
第一步:解析器,检查语法,创建查询树。
第二步:重写系统,接收解析器创建的查询树,在系统目录中查找可应用于该查询树的规则,执行规则体中给出的转换。
第三步:优化器,接收重写的查询树,并创建一个查询计划作为执行器的输入。它首先会创建所有可能通向相同结果的路径,然后估算每条路径的执行成本,并选择成本最低的路径。成本最低的路径将扩展为执行器可以使用的完整计划。
第四步:执行器,递归遍历计划树,并按照计划
从Overview of PostgreSQL Internals开始读。
浙公网安备 33010602011771号