MySQL逻辑架构总体概览
一、MySQL逻辑架构分为四层
连接层、服务层、引擎层、存储层
二、MySQL执行周期
MySQL的查询流程大致是:
(1)首先,MySQL客户端通过协议与MySQL服务器建连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果,否则进行语句解析,也就是说,在解析查询之前,服务器会先访问查询缓存(query cache)——它存储SELECT语句以及相应的查询结果集。
(2)如果某个查询结果已经位于缓存中,服务器就不会再对查询进行解析、优化、以及执行。它仅仅将缓存中的结果返回给用户,这会大大提高系统的性能。
(3)语法解析器和预处理:首先MySQL通过关键字将SQL语句进行解析,并生成一颗对应的“解析树”。
(4)MySQL解析器将使用MySQL语法规则验证和解析查询;
(5)预处理器则根据一些MySQL规则进一步检查解析树是否合法。
(6)查询优化器当解析树被认为是合法的了,并且由优化器将其转化成执行计划。
(7)一条查询可以有很多种执行方式,最后都返回相同的结果。优化器的作用就是找到这其中最好的执行计划。
(8)然后,MySQL默认使用的BTREE索引,并且一个大致方向是:无论怎么折腾sql,至少在目前来说,MySQL最多只用到表中的一个索引。
(1)mysql之外类似java程序访问
(2)和连接池沟通
(3)去缓存、缓冲中查询
(4)SQL接口分析sql
(5)解析器解析复杂sql
(6)优化器,不影响结果进行优化,生成执行计划
(7)存储引擎按计划分类型执行
(8)存入缓存
(9)返回结果
本文地址:https://blog.csdn.net/weixin_42448406/article/details/107354767
上一篇: 来了解下英国“*大学”
下一篇: apollo5.5.0技术文档