分析MySQL中这条语句的整个流程
update table_a set c1=xx where c2=xxx
朋友考我的一个问题在此处列出个人见解
1 客户端连接进来首先进行权限验证
2 验证通过后 进入SQL接口,接收用户的SQL命令
3 SQL命令到解释器中进行验证和解析
4 解析后查询优化器会对查询进行优化生成最终查询结果
5 如果查询的结果在缓存中则直接从缓存中获取返回给客户端
6 如果没有则调用存储引擎的API接口从文件系统中获取返回给客户端,同时写入到缓存中
MySQL的体系结果参考图