SQL 语句是如何执行的?

137次阅读  |  发布于1月以前

数据库中如何执行 SQL 语句?

下图显示了这一过程。请注意,不同数据库的架构各不相同,下图展示了一些常见的设计。

第 1 步

通过传输层协议(如 TCP)向数据库发送 SQL 语句。

第 2 步

将 SQL 语句发送到命令解析器,在那里进行语法和语义分析,然后生成查询树。

第 3 步

将查询树发送给优化器。优化器会创建一个执行计划。

第 4 步

将执行计划发送给执行器。执行器从执行计划中获取数据。执行器与存储引擎交互以访问数据。

第 5 步

访问方法提供执行所需的数据获取逻辑,从存储引擎获取数据。

第 6 步

访问方法决定 SQL 语句是否只读。如果查询是只读的(SELECT 语句),则将其传递给缓冲区管理器进行进一步处理。缓冲区管理器会在缓存或数据文件中查找数据。

第 7 步

如果语句是 UPDATE 或 INSERT,则将其传递给事务管理器做进一步处理。

第 8 步

在事务处理期间,数据处于锁定模式。这是由锁管理器保证的。它还能确保事务的 ACID 属性。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8