返回介绍

9.2 SQL 执行流程

发布于 2024-09-26 01:07:59 字数 1905 浏览 0 评论 0 收藏 0

SQL 引擎从接受 SQL 语句到执行 SQL 语句需要经历的步骤如下图和下表所示。其中,红色字体部分为 DBA 可以介入实施调优的环节。

image-20191201160705183

图 1 SQL 引擎执行查询类 SQL 语句的流程

表格 46 SQL 引擎执行查询类 SQL 语句的步骤说明

步骤说明
1、词法& 语法解析按照约定的 SQL 语句规则,把输入的 SQL 语句从字符串转化为格式化结构(Stmt)。
2、语义解析将“词法&语法解析”输出的格式化结构转化为数据库可以识别的对象。
3、查询重写根据规则把“语义解析”的输出等价转化为执行上更为优化的结构。
4、查询优化根据“查询重写”的输出和数据库内部的统计信息规划 SQL 语句具体的执行方式,也就是执行计划。统计信息和 GUC 参数对查询优化(执行计划)的影响,请参见 调优手段之统计信息调优手段之 GUC 参数
5、查询执行根据“查询优化”规划的执行路径执行 SQL 查询语句。底层存储方式的选择合理性,将影响查询执行效率。详见 调优手段之底层存储

表格 47 各数据库的 SQL 执行计划

数据库语法
MySQLEXPLAIN '$SQL'
Oracle执行计划
PostgresEXPLAIN
MongoEXPLAIN

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文