农民 发表于 2024-9-21 01:49:20

SQL:怎么查看索引信息

查看索引

要查看一个表有哪些索引,可以利用 MySQL 的 SHOW INDEX 下令或者查询信息模式的体系表。以下是两种方法:
利用 SHOW INDEX

利用 SHOW INDEX 可以列出指定表的索引信息。语法如下:
SHOW INDEX FROM table_name;
此中 table_name 是你要查看索引的表的名称。
示例:
假设你有一个表 products,你可以通过以下方式查看它的索引:
SHOW INDEX FROM products;
这会列出 products 表的全部索引信息,包括索引名、列名、索引类型、索引方法等。
利用信息模式查询

另一种方法是查询 MySQL 的信息模式体系表 information_schema.STATISTICS,这种方法更加灵活,并且可以与其他条件查询结合利用。
示例:
SELECT *
FROM information_schema.STATISTICS
WHERE table_schema = 'your_database' AND table_name = 'your_table';
将 your_database 替换为你的数据库名称,your_table 替换为你要查看索引的表名。这会列出指定表的全部索引信息,包括索引名、列名、索引顺序、索引类型等。
输出效果

https://i-blog.csdnimg.cn/direct/70845df39bf048368fbc9db4e0d9a86b.jpeg#pic_center

[*]Table:表名,即索引所属的表是 test_user。
[*]Non_unique:表示索引是否可以包含重复值。在你的环境下,idx_name_age 是一个非唯一索引,因此为 1。
[*]Key_name:索引的名称,这里是 idx_name_age。
[*]Seq_in_index:索引中的列的顺序。对于 idx_name_age,有两行,分别表示索引中的第一个列和第二个列。
[*]Column_name:索引的列名。第一行对应 name 列,第二行对应 age 列。
[*]Collation:列的排序规则。
[*]Cardinality:表示索引中唯一值的估计数量。
[*]Sub_part:表示列的子部分长度。对于你的索引而言,这个值为 NULL,表示整个列都被包含在索引中。
[*]Packed:在存储引擎内部利用的索引格式。
[*]Null:表示列是否可以包含 NULL 值。
[*]Index_type:索引的类型,这里是 BTREE,即 B-tree 索引布局。
[*]Comment:其他干系信息。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SQL:怎么查看索引信息