MySQL explain分析SQL语句

explain的作用是分析查询的SQL语句的好坏程度,语法为:

EXPLAIN SELECT * FROM mark_table WHERE mid = 8;
explain 查询语句

通过explain可以分析SQL语句的以下性能:

1、表的读取顺序

2、数据读取操作的操作类型

3、哪些索引可以被使用

4、哪些索引实际被使用

5、表之间的引用

6、每张表有多少行被优化器查询

id:select查询的序列号,为一组数字,表示查询中执行的顺序,id值越大,越先被执行,id值相同,则由上到下顺序执行

select_type:查询的类型,简单查询、联合查询、子查询等

table:查询的是哪张表

type:访问类型排列,system>const>eq_ref>ref>range>index>all(all为全表查询,最差等级)

possible_keys:可能用到的索引

key:实际用到的索引

key_len:索引的字节长度

ref:索引的哪一列被使用了,或是常量

rows:根据表统计信息及索引选用情况,大致估算出找到所需要记录、读取的行数

Extra:额外的重要信息,常见且重要的有:using filesort(文件内排序,MySQL无法用给定的索引进行排序,在内部重新排序)、using temporary(使用了临时表,一般在group by中),using index(最好的一种,使用到了索引,且没有出现前两者情况)

猜你喜欢

转载自blog.csdn.net/a15123837995/article/details/84523790