https://zhuanlan.zhihu.com/p/551045075
MySQL源码解析之执行计划
- MySQL执行计划介绍
- MySQL执行计划代码概览
- MySQL执行计划总结
一、MySQL执行计划介绍
在MySQL中,执行计划的实现是基于JOIN
和QEP_TAB
这两个对象。其中JOIN类表示一个查询语句块的优化和执行,每个select查询语句(即Query_block对象)在处理的时候,都会被当做JOIN对象,其定义在sql/sql_optimizer.h
。
QEP_TAB
是Query Execution Plan Table
的缩写,这里的表Table对象主要包含物化表、临时表、派生表、常量表等。JOIN::optimize()
是优化执行器的统一入口,在这里会把一个查询语句块Query_block
最终优化成QEP_TAB
。
在MySQL-8.0.22版本之后,又引入访问方式Access