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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 
多种评注。 


技术分享

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

解决方法:

1,优化sql预计

2,可以在SPACE_KEY上加索引


以上是关于mysql中 show index from tb_name命令各列的含义的主要内容,如果未能解决你的问题,请参考以下文章

MySQL Index--BAK和MRR演示

MySQL数据库(表)的导入导出(备份和还原)

mysql索引

mysql中如何找出重复数据的所有行

MySQL常用查询语句

关于MySQL常用的查询语句