1.explain语句
mysql> explain select user,host from user;
+----+-------------+-------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
| 1 | SIMPLE | user | NULL | index | NULL | PRIMARY | 276 | NULL | 5 | 100.00 | Using index |
+----+-------------+-------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
1 row in set, 1 warning (0.00 sec)
返回列含义
table:查询哪张表
type:连接类型,从好到差 const<eq_reg<ref<range<index<all
possible_keys:可能应用的索引,如果为空没有可能的索引
key:实际使用的索引,如果为null没有使用索引
key_len:索引长度,长度越短越好
ref:使用的索引列
rows:必须检查的用来返回请求的行数
extra:Using filesort: 需要优化,mysql需要进行额外的步骤来发现如何对返回的行排序,它根据连接类型以及存储排序键值和匹配条件的全部行指针来排序全部
extra:Using temporary:x需要优化,mysql需要创建一个临时表来存储结果,这通常发生在对不同的列集进行order by上,而不是group by上
网友评论