sql查询语句如何执行

MySQL 能够分为 Server 层和存储引擎层两部分。sql

 

 

查询缓存:缓存

Mysql拿到一个查询请求以后,会先查询缓存,以前执行过的语句及结果可能会以Key-Value的形式被存在缓存中,Key是查询语句,若是存在直接返回,若是没有再执行后面的流程优化

查询缓存失效很是频繁,只要对表有更新,表上的全部缓存都会被清空.注意Mysql8.0移除了查询缓存整个功能。3d

分析器:blog

提取关键字进行语法分析,“You have an error in your SQL syntax”就是从这儿抛出去的索引

优化器:sql语句

通过分析器以后,Mysql就知道你要作什么了,在这儿就进行索引的选择,连表查询时,决定链接顺序等等优化sql语句权限

执行器语法

优化器以后知道了该怎么作,执行器就开始执行语句,先判断有无权限,有权限继续执行语句,调用存储引擎获取数据请求

相关文章
相关标签/搜索