mysql处理过程
2019-08-12 23:41:19 0 举报
mysql处理过程
作者其他创作
大纲/内容
每行结果都会以mysql通讯协议封包发送,通过tcp传输,过程中可能对mysql的封包进行缓存然后批量传输
调用api
查询缓存(命中缓存直接返回结果)
查询执行引擎(根据生成的执行计划指令调用api,每个查询的表都是一个handler实例)
存储引擎
解析器(通过关键字解析)
mysql服务器
...
预处理器
返回结果集是一个增量的过程,生成第一条结果时,mysql就开始向客户端逐步返回结果集
结果
客户端
是否有错误的关键字关键字顺序是否正确
myisam
表跟跟数据列是否存在名字跟别名是否有歧义
解析树
sql
查询优化器(将语法树转换为执行计划)
客户端/服务端通讯协议
关联查询中,inner_join会默认小表驱动大表,可以使用straight_join来按顺序生成执行计划
查询执行计划(执行计划是指令树,而非字节码)
innodb
数据
0 条评论
下一页