SQL的执行过程简述(连接层——SQL层——存储引擎层)

(1)用户通过TCP/IP或者socket请求连接mysql

(2)经过连接层判断连接合法性,分配连接相应线程

(3)连接层线程将用户需要执行的SQL语句送到SQL层处理

(4)SQL层经过,语句、语义、语法、SQL类型、权限等判断

(5)查询缓存查找,找到则直接返回给用户数据

(6)如果缓存未找到,将SQL送到解析器,解析,生成执行计划

(7)优化器读取执行计划,判断并选择代价最小的执行计划

(8)执行计划执行,生成获取数据的方法方案,交由存储引擎层继续处理

(9)存储引擎层根据上层提供的方法,获取磁盘数据返回用户

(10)此次查询信息会缓存到查询缓存中。

感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。本文章允许转载,但必须注明博客来源与此说明。博主网址:http://www.cnblogs.com/sqhl/,如您喜欢,麻烦推荐一下 如您有新想法,欢迎提出,邮箱:1136558747@qq.com
原文地址:https://www.cnblogs.com/sqhl/p/8137337.html