1.  基本用法:

     查看当前数据库下某表的索引

    SHOW INDEX FROM your_table_name;

     格式化输出,更易读(在MySQL命令行中)

    SHOW INDEX FROM your_table_name\G

     查看指定数据库中的表索引

SHOW INDEX FROM your_table_name FROM your_database_name;

   

2.  解读输出:

       每一行代表索引中的一个列。

       如果一个索引由多列组成(复合索引),你会看到多行具有相同的 `Key_name`,但 `Seq_in_index` 和 `Column_name` 不同。

       重点关注 `Cardinality`:比较不同索引的基数。一个性别字段的索引基数可能只有 `2`(男/女),效果很差;而一个用户名字段的索引基数可能接近表的总行数,效果非常好。

    `Non_unique` 和 `Key_name` 可以帮你快速识别出哪些是唯一约束,哪些是普通索引。

 

示例分析

根据您提供的 `tb_stu_info2` 的输出:

SHOW INDEX FROM tb_stu_info2\G

我们可以得出以下结论:

1.  索引类型:这是一个唯一索引 (`Non_unique: 0`),因为创建时使用了 `UNIQUE` 关键字。

2.  索引名称:索引的名字是 `height` (`Key_name: height`)。

3.  索引字段:它是一个单列索引(`Seq_in_index: 1`),建立在 `height` 字段上 (`Column_name: height`)。

4.  排序方式:索引按升序存储 (`Collation: A`)。

5.  空值约束:`height` 字段允许为 NULL (`Null: YES`)。

6.  索引结构:使用 B+Tree 数据结构实现 (`Index_type: BTREE`)。

7.  当前状态:表可能还没有数据或统计信息未更新 (`Cardinality: 0`)。

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)