若有收获,请记得分享和转发哦
1、SQL语句执行流程
MySQL大体上可分为Server层
和存储引擎层
两部分。
Server层:
连接器
:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经创建的链接权限,必须重新登陆。查询缓存
:查询后的结果存储位置,MySQL8.0版本以后已经取消,因为查询缓存失效太频繁,得不偿失。分析器
:根据语法规则,判断你输入的这个SQL语句是否满足MySQL语法。优化器
:多种执行策略可实现目标,系统自动选择最优进行执行。执行器
:判断是否有权限,将最终任务提交到存储引擎。
存储引擎层
负责数据的存储和提取。其架构模式是插件式
的,支持InnoDB
、MyISAM
、Memory
等多个存储引擎。现在最常用的存储引擎是InnoDB
,它从MySQL 5.5.5版本开始成为了默认存储引擎(经常用的也是这个)。