检测SQL的性能
>>>explain SQL;
>>>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%';