MySQL执行查询的过程

流程图如下:

MySQL查询过程流程图

1.客户端发送一条查询给服务器

2.服务器先检查查询缓存(见下面注释),如果命中了缓存,则立刻返回存储在缓存中的结果.否则,进入下一个阶段

3.服务器进行SQL解析.预处理,再由优化器生成对应的执行计划.

4.MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询.

5.将结果返回给客户端

注释

查询缓存:在解析一个查询语句前,如果缓存是打开的,那么MySQL会优先检查这个查询是否命中查询缓存中的数据.如果没有命中,则进入下一阶段的处理.如果命中查询缓存,则会检查用户的权限,如果权限没有问题,MySQL会跳过其他阶段,直接拿数据返回给客户端.

(摘自高性能mysql第三版)

发布了52 篇原创文章 · 获赞 54 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/weixin_37909391/article/details/82770709