检测SQL的性能与优化

检测SQL的性能

>>>explain SQL;

explain SQL

>>>explain SQL \G;

检测SQL的性能与优化_第1张图片
explain SQL \G;

SELECT_TYPE

simple:不含子查询

subquery:非from子查询

derived:from型子查询

primary:含子查询或派生查询

Table

显示查询的表名或者是表的别名

Possible_key

可能用到的索引

KEY

最终用到的索引

key_len

用到的索引长度

TYPE

是索引查询的方式

all:表示扫描到了所有的数据,也就是说没有用到任何索引。

index:表示扫描到了所有到所有节点,也就是说。

range:表示查询时,能根据索引做范围的扫描。

ref:表示通过索引可以直接引用到某些数据行。

从上往下,SQL性能递增。

ROWS

估计要扫描多少行数据

EXTRA

index:用到了索引覆盖,效率非常高

use where:指光靠索引定位不了,还需要wehre判断一下。

use temporary:指用上了临时表,group by 与 order by不同列时,或者group by、order by其它表的列时。

use filesort:文件排序(文件可能在磁盘,也可能在内存)。

查询磁盘的临时状态

>>>show status like '%tmp%';

检测SQL的性能与优化_第2张图片

你可能感兴趣的:(检测SQL的性能与优化)