跳到主要内容

索引字段示例

这里是 mysql 索引的示例解读

索引字段示例解读

show index from xxx; 解读

字段名含义解读
Table索引所属的表名。
Non_unique索引是否允许重复值: - 0:表示唯一索引(不允许重复值,如 PRIMARY KEY、UNIQUE) - 1:表示非唯一索引(允许重复值)
Key_name索引的名称。主键索引固定为PRIMARY;用户创建的索引则是定义时指定的名称。
Seq_in_index列在索引中的位置(从 1 开始)。 例如:复合索引(col1, col2)中,col1 的该值为 1,col2 为 2。
Column_name索引包含的列名。若为函数索引(基于表达式的索引),该字段可能为NULL(表达式会显示在 Expression 字段)。
Collation索引中列的排序方式: - A:升序排列(最常见) - D:降序排列 - NULL:无排序(如空间索引)
Cardinality索引中唯一值的估计数量(非精确值)。 值越接近表的总行数,说明索引选择性越好(查询时过滤效果越强),查询优化器更可能使用该索引。
Sub_part索引前缀长度(仅对字符串列有效)。 例如:若对varchar(100)列只索引前 10 个字符,该值为 10;若索引整个列,该值为 NULL。
Packed索引是否压缩存储: NULL:未压缩 - 其他值:表示压缩方式(如PACK_KEYS=1时的压缩格式)。
Null该列是否允许 NULL 值: x- YES:允许 - 空:不允许(如主键列)。
Index_type索引的类型。常见类型: - BTREE:默认索引类型,适用于大多数场景 - HASH:哈希索引(仅 Memory 引擎支持) - FULLTEXT:全文索引 - SPATIAL:空间索引。
Comment索引的额外注释(较少使用)。
Index_comment创建索引时通过COMMENT子句指定的注释(用户自定义说明)。
Visible索引是否对查询优化器 “可见”: - YES:优化器可以使用该索引 - NO:优化器会忽略该索引(但索引仍存在,可通过ALTER TABLE ... ALTER INDEX ... VISIBLE修改)。
Expression若为函数索引(基于表达式创建的索引,如INDEX idx (col1 + col2)),则显示索引对应的表达式;普通列索引则为 NULL。