如何查看 mysql 索引
通过 SHOW INDEX 命令
最常用的方法是使用 SHOW INDEX 命令。对于特定的表,该命令将显示所有已创建的索引。
语法:
SHOW INDEX FROM table_name;
示例:
SHOW INDEX FROM customers;
输出将包含以下列:
- Table:索引所在的表名
- Non_unique:指示索引是否唯一(0 表示唯一)
- Key_name:索引的名称
- Seq_in_index:索引中列的顺序
- Column_name:被索引的列名
- Collation:列的排序规则
- Cardinality:索引中唯一值的估计数量
- Sub_part:索引是否仅适用于表的一部分
通过 INFORMATION_SCHEMA.STATISTICS 表
另一个查看索引的方法是查询 INFORMATION_SCHEMA.STATISTICS 表。该表存储有关数据库中所有表的统计信息,包括索引。
语法:
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_schema = 'database_name' AND table_name = 'table_name';
示例:
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_schema = 'mydb' AND table_name = 'customers';
输出将包含以下列:
- TABLE_SCHEMA:索引所在数据库的架构名
- TABLE_NAME:索引所在表的名称
- INDEX_NAME:索引的名称
- NON_UNIQUE:指示索引是否唯一
- CARDINALITY:索引中唯一值的估计数量
- COLUMN_NAME:被索引的列名