SQL 面试题 目录

SQL 中如何查看表的索引?

推荐答案

或者

本题详细解读

1. 使用 SHOW INDEX 语句

SHOW INDEX 是 MySQL 中用于查看表索引的常用命令。它会返回一个结果集,包含表中所有索引的详细信息,如索引名称、索引类型、索引字段等。

  • 语法:

  • 示例:

  • 输出:

    • Table: 表名
    • Non_unique: 索引是否允许重复值(0 表示唯一索引,1 表示非唯一索引)
    • Key_name: 索引名称
    • Seq_in_index: 索引中的列顺序
    • Column_name: 列名
    • Collation: 列的排序方式(A 表示升序,NULL 表示未排序)
    • Cardinality: 索引中唯一值的估计数量
    • Sub_part: 索引的前缀长度(如果只索引列的一部分)
    • Packed: 索引是否被压缩
    • Null: 列是否允许 NULL 值
    • Index_type: 索引类型(如 BTREE、HASH 等)
    • Comment: 其他注释信息

2. 使用 information_schema.STATISTICS

information_schema.STATISTICS 是一个系统表,存储了数据库中所有表的索引信息。通过查询该表,可以获取与 SHOW INDEX 类似的索引信息。

  • 语法:

  • 示例:

  • 输出:

    • TABLE_SCHEMA: 数据库名称
    • TABLE_NAME: 表名
    • NON_UNIQUE: 索引是否允许重复值
    • INDEX_NAME: 索引名称
    • SEQ_IN_INDEX: 索引中的列顺序
    • COLUMN_NAME: 列名
    • COLLATION: 列的排序方式
    • CARDINALITY: 索引中唯一值的估计数量
    • SUB_PART: 索引的前缀长度
    • PACKED: 索引是否被压缩
    • NULLABLE: 列是否允许 NULL 值
    • INDEX_TYPE: 索引类型
    • COMMENT: 其他注释信息

这两种方法都可以有效地查看表的索引信息,选择哪种方法取决于具体的需求和偏好。

纠错
反馈