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

大体来说,MySQL分为server层和存储引擎层,server层有连接器、分析器、优化器、执行器和查询缓存;

其中,客户端发出请求与连接器建立连接并获取权限,

分析器对SQL语句做分析并判断是否正确;

优化器决定使用哪个索引,生成执行计划,决定多表连接中表的连接顺序。

执行器执行语句,操作存储引擎,并返回结果;

server层中,查询请求先访问缓存,命中直接返回。不推荐使用缓存,更新会把缓存清除(关闭缓存:参数query_cache_type设置成DEMAND)

原文地址:https://www.cnblogs.com/5945yang/p/11259152.html