一条SQL查询语句是如何执行的?

1.客户端

通过TCP握手,如果账户密码通过后,连接器去权限表获得当前连接权限。

默认时间-8小时,长连接。使用长连接的好处可以避免连接的损耗。

2.查询缓存

5.6版本有查询缓存,但是缓存在update、delete。会导致缓存失效,所以缓存的利用率不高(8.0缓存已删除)

3.分析器

SQL语句会进行词法分析(select * from user)知道,mysql会知道查询那张表,那些字段

然后再进行语法分析,Mysql会判断是否满足语法,如果不对则会提示SQL错误

4.优化器

mysql表里面有索引,则会择优选择索引。

5.执行器

根据生成的执行计划,并且校验权限。有权限则操作存储引擎将放入结果集,返回给客户端。

posted @ 2024-01-25 23:17  辉辉、  阅读(7)  评论(0编辑  收藏  举报