我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL查看索引语句:SHOW INDEX 详细讲解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL查看索引语句:SHOW INDEX 详细讲解

概述:

SHOW INDEX语句是MySQL中用于查看表索引信息的语句。它提供了有关表中索引的详细信息,包括索引名称、索引类型、关联的列等。以下是SHOW INDEX的详细说明:

语法:

SHOW INDEX FROM table_name [FROM db_name] [WHERE condition];

参数说明:

  • table_name:
    • 需要查询索引的表名。
  • db_name:
    • (可选)数据库名。如果你已经在某个数据库上下文中,可以省略此参数。
  • condition:
    • (可选)可以添加WHERE子句来筛选索引信息,比如根据索引名称、索引类型等进行筛选。

SHOW INDEX语句返回以下信息:

  • table:
    • 表名。
  • non_unique:
    • 是否允许重复值。如果值为1,表示允许重复值;如果值为0,表示不允许重复值(唯一索引)。
  • key_name:
    • 索引名称。主键索引名通常为PRIMARY。
  • seq_in_index:
    • 索引中的列的序号。对于组合索引,这表示列在索引中的位置。
  • column_name:
    • 列名,索引涉及的列。
  • collation:
    • 排序规则。A表示升序,NULL表示不可排序。
  • cardinality:
    • 索引的基数。这是一个估算值,表示索引中唯一值的数量。这个值对于查询优化器选择索引非常重要。
  • sub_part:
    • 索引的前缀长度。对于部分索引,这表示索引的前缀长度。
  • packed:
    • 索引是否被压缩。如果索引未被压缩,该列的值为NULL。
  • null:
    • 列是否允许包含NULL值。
  • index_type:
    • 索引类型。常见的类型有BTREE、HASH、FULLTEXT等。
  • comment:
    • 索引的备注。

示例:

下面是一个名为examples的表,其中包含各种类型的索引:主键索引、唯一索引、普通索引、前缀索引和联合索引。

CREATE TABLE examples (  id INT AUTO_INCREMENT,  name VARCHAR(255),  description TEXT,  category VARCHAR(255),  price DECIMAL(10, 2),  PRIMARY KEY (id),  UNIQUE KEY idx_name (name),  KEY idx_category (category),  KEY idx_category_price (category, price),  KEY idx_name_prefix (name(10))) ENGINE=InnoDB;

在这个示例中,我们创建了一个名为examples的表,包含以下类型的索引:

  • 主键索引(PRIMARY KEY):
    • id列是主键索引。主键索引要求唯一且不允许NULL值。
  • 唯一索引(UNIQUE KEY):
    • name列是唯一索引。唯一索引要求唯一,但允许NULL值。
  • 普通索引(KEY):
    • category列是普通索引。普通索引允许重复值和NULL值。
  • 联合索引(KEY):
    • category和price列组成了一个联合索引。这允许根据这两个列的组合进行更快的查询。
  • 前缀索引(KEY):
    • name列的前10个字符被用作前缀索引。前缀索引允许在索引较长的字符串列时节省存储空间和提高查询速度,但可能会影响查询准确性。

现在,使用SHOW INDEX语句查询examples表的索引信息:

SHOW INDEX FROM examples;

输出结果(以表格形式表示):

在SHOW INDEX的输出中,你可以看到examples表的各种类型索引:

  • 主键索引(PRIMARY KEY):
    • 在key_name列中,PRIMARY关键字表示该行对应的是主键索引。non_unique列的值为0,说明主键索引的值必须是唯一的。在此例中,主键索引是id列。
  • 唯一索引(UNIQUE KEY):
    • 在key_name列中,自定义的索引名称(例如idx_name)表示这是一个唯一索引。non_unique列的值为0,说明唯一索引的值必须是唯一的,但允许NULL值。在此例中,唯一索引是name列。
  • 普通索引(KEY):
    • 在key_name列中,自定义的索引名称(例如idx_category)表示这是一个普通索引。non_unique列的值为1,说明普通索引允许重复值和NULL值。在此例中,普通索引是category列。
  • 前缀索引(KEY):
    • 前缀索引的识别方法与普通索引相同,但在sub_part列中有一个值,表示使用列值的前多少个字符作为前缀索引。在此例中,idx_name_prefix是一个前缀索引,它将name列的前10个字符作为索引。
  • 联合索引(KEY):
    • 联合索引可以通过key_name列中的相同索引名称以及不同的seq_in_index值来识别。在seq_in_index列中,数字表示列在联合索引中的顺序。在此例中,idx_category_price是一个联合索引,包括category和price两个列。
    • 在这两行中,key_name列的值都是idx_category_price,表明它们属于同一个索引。seq_in_index列的值分别为1和2,表示category和price这两个列在联合索引中的顺序。 

注意,SHOW INDEX语句及返回的结果列可能会因MySQL版本的不同而有所差异。本解释基于MySQL 8.0版本。在其他版本中,返回的结果列可能有所不同。要获取与您的MySQL版本对应的详细信息,请查阅官方文档。

 

来源地址:https://blog.csdn.net/jiayoudangdang/article/details/130387723

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL查看索引语句:SHOW INDEX 详细讲解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySql中sql语句执行过程详细讲解

目录前言:sql语句的执行过程:查询缓存:分析器:优化器:执行器:总结前言:很多人都在使用mysql数据库,但是很少有人能够说出来整个sql语句的执行过程是怎样的,如果不了解执行过程的话,就很难进行sql语句的优化处理,也很难设计出来优良
2023-02-21

MySQL索引失效原因以及SQL查询语句不走索引原因详解

目录前言1. 隐式的类型转换,索引失效2. 查询条件包含 or,可能导致索引失效3. like 通配符可能导致索引失效4. 查询条件不满足联合索引的最左匹配原则5. 在索引列login_time上使用 mysql 的内置函数6. 对索引列a
2023-03-06

MySQL查看数据库状态命令详细讲解

目录前言show statusshow processlist;show slave status \G;总结前言数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用
2023-03-06

如何实现MySQL中查看表的索引信息的语句?

标题:如何实现MySQL中查看表的索引信息的语句?在MySQL中,索引是一种非常重要的数据结构,它能够提高查询效率、加速数据检索过程,而对于开发人员和数据库管理员来说,了解表的索引信息是非常重要的。在MySQL中,可以使用SHOW INDE
如何实现MySQL中查看表的索引信息的语句?
2023-11-08

【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句

🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 文章目录 🍔
2023-08-16

编程热搜

目录