MySql 逻辑架构

连接层 

  当Mysql 启动  等待客户端连接请求,服务器都会新建一个线程处理(如果是线程池的话,则是分配一个空的线程),每个线程独立,拥有各自的内存处理空间,但是,如果这个请求指示查询,没关系,但是若是修改数据,很显然,当两个线程改同一块内存是会引发数据同步问题

连接到服务器,服务器需要进行验证,也就是用户名,ip,密码验证,一但连接成功,还要验证是否具有执行某个特定查询的权限(如 是否允许客户端对某个数据库某个表的某个操作)

Sql 处理层 

缓存  

-- 数据缓存是否开启
show variables like '%query_cache_type%'

-- 缓存的大小
show variables like '%query_cache_size%'

SET GLOBAL query_cache_size = 134217728;   设置缓存大小 

开启缓存    

set global query_cache_type = 1;   或者 修改 配置文件

   

解析查询  

 mysql 优化器 

 

原文地址:https://www.cnblogs.com/qin1993/p/12082848.html