首頁  >  文章  >  資料庫  >  高性能MySql进化论(九):查询优化器常用的优化方式_MySQL

高性能MySql进化论(九):查询优化器常用的优化方式_MySQL

WBOY
WBOY原創
2016-06-01 13:26:571005瀏覽

bitsCN.com

1 介绍

1.1 处理流程

当MYSQL 收到一条查询请求时,会首先通过关键字对SQL语句进行解析,生成一颗“解析树”,然后预处理器会校验“解析树”是否合法(主要校验数据列和表明是否存在,别名是否有歧义等),当“解析树”被认为合法后,查询优化器会对这颗“解析树”进行优化,并确定它认为最完美的执行计划。

1.2 衡量标准

MYSQL查询优化器衡量某个执行计划是否完美的标准是“使用该执行计划时的成本”,该成本的最小单位是读取一个4K数据页的成本。

下面图中的数据说明,当使用id为条件查询时,查询的成本只有一个数据页,而使用mean(非索引)查询时,成本将近是22334个数据页

/

1.3 优化手段

下面列出了一些优化器常用的优化手段,但实际上远远不止这些

1. 重新定义关联表的顺序

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn