SQL的一生 | PostgreSQL

一条查询语句(SQL)为了得到查询结果,将会经历以下阶段:

  1. 建立连接:先建立由应用程序到pg服务器的连接,之后应用程序向pg服务器发送一条查询,并等待接收pg服务器传回查询结果。
  2. 解析阶段(parser stage):pg服务器对由应用程序传来的查询进行语法检查,并将其转化为一个查询树(query tree)。
  3. 重写系统(rewrite system):实现查询树的等价转化。
    • 在得到的查询树的基础上,查找可以应用的规则(这些规则存储在系统目录中);
    • 这些规则实现查询的等价转化;
    • 视图(view)是查询重写的一种应用。
  4. 计划器或优化器(planner/optimizer):将查询树转化为查询计划,作为执行器的输入。
    • 先创建所有可能的最后结果相同的查询路径;
    • 然后估算每条路径所需要的执行代价;
    • 从中选择代价最低的查询路径;
    • 将路径扩展成完整的查询计划,最终送给执行器。
  5. 执行器(executor):递归执行计划树(plan tree)
    • 在扫描数据表时会用到存储系统;
    • 执行排序和连接等操作;
    • 评估合法性;
    • 最后返回符合要求和数据行。
全部评论
https://www.rockdata.net/zh-cn/docs/13/overview.html
点赞 回复 分享
发布于 2023-07-29 09:43 陕西
参考官网文档:https://www.postgresql.org/docs/13/overview.html
点赞 回复 分享
发布于 2022-06-21 16:14

相关推荐

03-30 19:30
石家庄学院 Java
野蛮的柯基在游泳:都能入股了,还得是Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务