mysql中 show index from tb_name命令各列的含义

show index from table_name
这个命令有助于诊断性能低下的查询,尤其是查询是否使用了可用的索引。
下面介绍下 这个命令显示的结果列的含义:
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
1.Table  
表的名称。

2.Non_unique 
如果索引不能包括重复词,则为0。如果可以,则为1。

3.Key_name 
索引的名称。

4.Seq_in_index 
索引中的列***,从1开始。

5.Column_name 
列名称。

6.Collation 
列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。

7.Cardinality 
索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,mysql使用该索引的机会就越大。

8.Sub_part 
如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。

9.Packed 
指示关键字如何被压缩。如果没有被压缩,则为NULL。

10.Null 
如果列含有NULL,则含有YES。如果没有,则该列含有NO。

11.Index_type 
用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。

12.Comment 
多种评注。 


mysql中 show index from tb_name命令各列的含义

上面的这个sql是全表扫描  因为主键索引是ID ,但是where 条件后没有id 条件

解决方法:

1,优化sql预计

2,可以在SPACE_KEY上加索引




      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1956064,如需转载请自行联系原作者