ホームページ  >  記事  >  データベース  >  explain SQL语句性能测试返回值的具体含义_MySQL

explain SQL语句性能测试返回值的具体含义_MySQL

WBOY
WBOYオリジナル
2016-06-01 13:36:211041ブラウズ

bitsCN.com

explain SQL语句性能测试返回值的具体含义

 

explain SQL语句性能测试返回值的具体含义如下: 

mysql>explain select * from table; 

+----+-------------+-------+------+---------------+------+---------+------+------+-------+ 

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | 

+----+-------------+-------+------+---------------+------+---------+------+------+-------+ 

table #显示该语句涉及的表 

type #这列很重要,显示了连接使用了哪种类别,有无使用索引,反映语句的质量。 

possible_keys #列指出MySQL能使用哪个索引在该表中找到行 

key #显示MySQL实际使用的键(索引)。如果没有选择索引,键是NULL。 

 

key_len #显示MySQL决定使用的键长度。如果键是NULL,则长度为NULL。使用的索引的长度。在不损失精确性的情况下,长度越短越好 

ref #显示使用哪个列或常数与key一起从表中选择行。 

 

rows #显示MySQL认为它执行查询时必须检查的行数。 

extra #包含MySQL解决查询的详细信息。 

其中:Explain的type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是: 

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL(优-->差) 

一般来说,得保证查询至少达到range级别,最好能达到ref,否则就可能会出现性能问题。

bitsCN.com
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。