SHOW INDEX
语句可以用来查看指定表中的索引信息。其基本语法如下:
SHOW INDEX FROM table_name;
- 示例:假设你有一个名为
employees
的表,要查看该表的索引信息,可以执行以下语句:
SHOW INDEX FROM employees;
- 结果说明:执行该语句后,会返回一个结果集,包含了表中各个索引的详细信息,常见的列及含义如下:
Table
:索引所属的表名。
Non_unique
:表示索引是否允许重复值,0
表示不允许(唯一索引),1
表示允许(非唯一索引)。
Key_name
:索引的名称。
Seq_in_index
:索引中列的顺序编号。
Column_name
:索引所包含的列名。
Collation
:列的排序规则。
Cardinality
:索引中唯一值的估计数。
Sub_part
:如果列只是部分被索引,则显示索引的字符数。
Packed
:指示关键字如何被压缩。
Null
:表示列是否允许为 NULL
。
Index_type
:索引的类型,如 BTREE
、HASH
等。
information_schema.STATISTICS
是一个系统视图,它存储了数据库中所有表的索引信息。你可以通过查询该视图来获取索引信息,示例如下:
SELECT
TABLE_NAME,
INDEX_NAME,
COLUMN_NAME,
NON_UNIQUE,
INDEX_TYPE
FROM
information_schema.STATISTICS
WHERE
TABLE_SCHEMA = 'your_database_name'
AND TABLE_NAME = 'your_table_name';
- 参数说明:
your_database_name
:要查询的数据库名。
your_table_name
:要查询的表名。如果你想查看某个数据库下所有表的索引信息,可以去掉 AND TABLE_NAME = 'your_table_name'
这一条件。