当向 MySQL 发出 SQL 请求时,一般会经历如下流程。 (1) 客户端发送一条 SQL 语句给 MySQL 服务器。 (2) MySQL 服务器先检查查询缓存,如果查询缓存中存在待查询的结果数据,则会立刻返回查询缓存中的结果数据,否则执行下一阶段的处理。 (3) MySQL 服务器通过解析器和预处理器对 SQL 语句进行解析和预处理,并将生成的 SQL 语句解析树传递给查询优化器。 (4) 查询优化器将 SQL 解析树进行进一步处理,生成对应的执行计划。 (5) MySQL 服务器根据查询优化器生成的执行计划,通过查询执行引擎调用存储引擎的 API 来执行查询操作。 (6) 存储引擎查询数据库中的数据,并将结果返回给查询执行引擎。 (7) 查询执行引擎将结果保存在查询缓存中,并通过数据库连接/线程处理返回给客户端。
答复内容摘自《MySQL 技术大全:开发、优化与运维实战》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=8245
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。