mysql处理查询请求的步骤
服务端处理客户端的查询请求大致需要三个步骤:
-   连接管理- 客户端连接服务端时,服务端会为其分配一个线程,客户端断开连接不会回收线程(避免频繁创建销毁的性能问题),服务端一直等待客户端发来消息(文本消息)
 
-   解析与优化- 查询缓存(mysql8.0之后删除了查询缓存)- mysql处理查询请求的时候会把结果缓存,不缓存的情况有(1,任何字符的不同2,调用了系统函数 自定义函数/变量3,使用了系统表)
- 缓存失效:对表的结构和数据进行了修改之后,缓存会失效,并从高速缓存删除
 
- 语法解析- 对文本进行解析校验语法
 
- 查询优化- 对我们的语句进行一些优化,生成一个执行计划使用哪些索引,表的连接顺序等等
 
 
- 查询缓存(mysql8.0之后删除了查询缓存)
-   存储引擎- 在完成了查询优化之后,只需按照执行计划调用底层存储引擎提供的api,返回数据给客户端即可
 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号