高性能MySql进化论(九):查询优化器常用的优化方式_MySQL
程序员文章站
2022-06-02 18:57:32
...
bitsCN.com
1 介绍
1.1 处理流程
当MYSQL 收到一条查询请求时,会首先通过关键字对SQL语句进行解析,生成一颗“解析树”,然后预处理器会校验“解析树”是否合法(主要校验数据列和表明是否存在,别名是否有歧义等),当“解析树”被认为合法后,查询优化器会对这颗“解析树”进行优化,并确定它认为最完美的执行计划。
1.2 衡量标准
MYSQL查询优化器衡量某个执行计划是否完美的标准是“使用该执行计划时的成本”,该成本的最小单位是读取一个4K数据页的成本。
下面图中的数据说明,当使用id为条件查询时,查询的成本只有一个数据页,而使用mean(非索引)查询时,成本将近是22334个数据页
1.3 优化手段
下面列出了一些优化器常用的优化手段,但实际上远远不止这些
1. 重新定义关联表的顺序