分析MySQL中这条语句的整个流程

update table_a set c1=xx where c2=xxx

朋友考我的一个问题在此处列出个人见解

1 客户端连接进来首先进行权限验证

2 验证通过后 进入SQL接口,接收用户的SQL命令

3 SQL命令到解释器中进行验证和解析

4 解析后查询优化器会对查询进行优化生成最终查询结果

5 如果查询的结果在缓存中则直接从缓存中获取返回给客户端

6 如果没有则调用存储引擎的API接口从文件系统中获取返回给客户端,同时写入到缓存中

 

MySQL的体系结果参考图

posted on 2016-02-17 17:59  懒睡的猫熊  阅读(321)  评论(0编辑  收藏  举报