msql的逻辑架构图
第一层:主要功能是连接处理、授权认证、安全等。相当于JavaEE中的常说的Web层
第二层:包含了MySQL服务端的核心功能,包含查询缓存、查询解析、分析、优化等功能。相当于JavaEE中的Service层
第三层:主要是存储引擎,存储引擎主要负责数据的存储和提取。相当于JavaEE中的DAO层
MySQL执行查询过程:
1、当客户端连接到MySQL的服务器,会在MySQL服务器中创建一个线程(在MySQL 5.5版本或者更高版本中可以通过创建线程池)
2、验证客户端的用户名和密码,以及该客户端的操作权限
3、服务端先检查缓存,如果命中缓存,则立刻返回缓存中结果
4、服务器进行SQL解析、预处理、优化器生成对应的执行计划
5、MySQL根据执行器生成执行计划,调用存储引擎的API进行查询
6、将结果返回给客户端,并将该查询进行缓存