目标
- 掌握查看索引方法;
- 理解索引相关属性。
语法
/*方法1*/
SHOW INDEX FROM 表名称;
SHOW INDEX FROM 数据库名称.表名称;
SHOW INDEX FROM 表名称 FROM 数据库名称;
/*方法2*/
SELECT * FROM information_schema.statistics
WHERE
table_schema='数据库名称'
AND
table_name = '表名称';
输出列
- non_unique:0表示索引不能重复;1表示可以重复;
- key_name:表示索引名;
- seq_in_index:表示索引中的列序号,从1开始;
- column_name:表字段的列表;
- Collation:列在索引中的排序方式。它可以具有值 A(升序),D (降序)或NULL(未排序);
- Cardinality:索引中唯一值数量的估计。基数越高,MySQL在进行联接时使用索引的机会越大;要更新此数字,请运行ANALYZE TABLE或(对于MyISAM表) 运行myisamchk -a;
- sub_part:索引前缀。也就是说,如果列仅部分索引,则为索引字符数;如果对整个列进行索引,则为空;
- packed:指示key的打包方式。null表示不打包;
- NULL:如果列可能包含NULL值,则包含YES;如果不包含,则包含"";
- Index_type:使用的索引方法(BTREE, FULLTEXT,HASH, RTREE);
- Comment:有关索引的信息没有在其自己的列中描述,例如如果索引被禁用,则禁用;
- index_comment:索引注释;
- Visible:索引是否对优化器可见。