暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

如何查看 MySQL 表的索引信息?

11164
每天一个开发小知识。

在前面的文章《MySQL 中的索引》中,我们介绍过 MySQL 的所有索引。

今天,我们再来学习一个命令:show index,查看表的所有索引信息:

    show index from your_tablename;

    通过执行 show index 命令,可以得到如下结果:


    每列的含义如下:

    1. Table:索引所在的表名;

    2. Non_unique:0表示该索引是唯一索引,1表示该索引不是唯一索引;

    3. Key_name:索引的名称;

    4. Seq_in_index:索引列在索引中的位置,对于组合索引来说,这个字段很重要,具体可以查看《MySQL 中的索引》

    5. Column_name:索引列的名称;

    6. Collation:索引列的值以什么方式存储在索引中。A 表示有排序,B+树索引使用该方式;NULL 表示无序的,Heap索引使用该方式;

    7. Cardinality:索引列所有值去重后的数量。该值除以该表的行数越接近1越好,如果非常小,则需要考虑是否可以删除该索引

    8. Sub_part:数值 N 表示只对该列的前 N 个字符进行索引;NULL 表示索引整个列的值;

    9. Packed:关键字是否被压缩,NULL 表示没有压缩;

    10. Null:索引列是否可以为空

    11. Index_type:索引类型,BTREE 表示B+树索引;

    12. Comment:注释;

    13. Index_comment:注释;


    其中,我们尤其需要关注 Cardinality 值,如果该值远小于表的行数,则我们需要考虑是否可以删除该索引。

    每天一个开发小知识,今天你学废了吗?
    文章转载自每天一个开发小知识,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论