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

MySQL SHOW INDEX语法是什么意思

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

MySQL SHOW INDEX语法是什么意思

这篇文章主要介绍“MySQL SHOW INDEX语法是什么意思”,在日常操作中,相信很多人在MySQL SHOW INDEX语法是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL SHOW INDEX语法是什么意思”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

如:show index from `order`

MySQL SHOW INDEX语法是什么意思

1、Table   表名

2、Non_unique  如果索引不能包括重复值则为0,如果可以则为1。也就是平时所说的唯一索引。

3、Key_name  索引名称,如果名字相同则表明是同一个索引,而并不是重复,比如上图中的第二、三条数据,索引名称都是index_fID_lastTime,其实是一个联合索引。

4、Seq_in_index 索引中的列序列号,从1开始。上图中的二、三条数据,Seq_in_index一个是1一个是2,就是表明在联合索引中的顺序,我们就能推断出联合索引中索引的前后顺序。

5、Column_name 索引的列名。

6、Collation  列以什么方式存储在索引中,大概意思就是字符序。在MySQLSHOW INDEX语法中,有值’A’(升序)或NULL(无分类)。默认的类型是utf8_general_ci,这样的大小写不敏感,比如下面两个sql会出现相同的查询结果:

      select * from Table where content = 'Yes'
      select * from Table where content = 'yes'

    这样可能不符合你的要求,你需要大小写敏感的情况,你可以修改字段字符集类型,如下sql

    alter table bbs_posts modify column content varchar(5000) NOT NULL collate utf8_bin;

    这样修改以后就OK了。

7、Cardinality  基数的意思,表示索引中唯一值的数目的估计值。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机会就越大。我们知道某个字段的重复值越少越适合建索引,所以我们一般都是根据Cardinality来判断索引是否具有高选择性,如果这个值非常小,那就需要重新评估这个字段是否适合建立索引。因为MySQL数据库中有各种不同的存储引擎,而每种存储引擎对于B+树索引的实现又各不相同。所以对Cardinality统计时放在存储引擎层进行的,至于它是如何统计更新的在这里就不再做更深入的介绍了。

8、Sub_part 前置索引的意思,如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。如上图所示,除了index_content那行显示4外,其他的都是NULL,表明index_content是一个长度为4的前置索引。对于BLOB,TEXT,或者很长的VARCHAR类型的列,必须使用前缀索引,因为MySQL不允许索引这些列的完整长度,这会让索引变得大且慢。选择长度的诀窍在于要选择足够长的前缀以保证较高的选择性,同时又不能太长以便节约空间。下面是计算前置索引长度的一般方法:    

      select count(distinct left(content,3))/count(*) from bbs_posts as sel3

      select count(distinct left(content,4))/count(*) from bbs_posts as sel4

      select count(distinct left(content,5))/count(*) from bbs_posts as sel5

     最后算出来那个长度的基数接近完整列的选择行就OK了,完整列 select count(distinct content)/count(*) from bbs_posts

9、Packed  指示关键字如何被压缩。如果没有被压缩,则为NULL。压缩一般包括压缩传输协议、压缩列解决方案和压缩表解决方案。

10、Null 如果列含有NULL,则含有YES。比如上图中的lastOperateTime其中就包含null,我们知道建立索引的列是不允许为Null的,单列索引不存Null值,复合索引不存全为Null的值,如果列允许为Null,可能会得到“不符合预期”的结果集。我这里是为了更好的给大家展示故意构造了一些数据。

11、Index_type 索引类型,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。    

    1). FULLTEXT
    即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。
    2). HASH
    由于HASH的唯一(几乎100%的唯一)及类似键值对的形式,很适合作为索引。    HASH索引可以一次定位,不需要像树形索引那样逐层查找,因此具有极高的效率。但是,这种高效是有条件的,即只在“=”和“in”条件下高效,对于范围查询、排序及组合索引仍然效率不高。
    3). BTREE    BTREE索引就是一种将索引值按一定的算法,存入一个树形的数据结构中(二叉树),每次查询都是从树的入口root开始,依次遍历node,获取leaf。这是MySQL里默认和最常用的索引类型。
    4). RTREE
    RTREE在MySQL很少使用,仅支持geometry数据类型,支持该类型的存储引擎只有MyISAM、BDb、InnoDb、NDb、Archive几种。相对于BTREE,RTREE的优势在于范围查找。

12、 Comment Index_comment  注释的意思。

到此,关于“MySQL SHOW INDEX语法是什么意思”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

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

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

MySQL SHOW INDEX语法是什么意思

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

下载Word文档

猜你喜欢

index在python中是什么意思

在Python中,index通常指的是一个对象或数据的位置或索引。在列表、元组和字符串等结构中,每个元素都有一个唯一的索引值,从0开始递增。通过索引值,可以访问特定位置的元素或字符。例如,对于列表a,a[0]表示第一个元素,a[1]表示第二
2023-08-25

mysql 是什么意思

MySQL是一种开源的关系型数据库管理系统(RDBMS),它是由瑞典MySQL AB公司开发的,现在属于Oracle公司。MySQL使用标准的SQL语言来管理和操作数据库,可以在各种操作系统上运行,包括Windows、Linux、Mac等。
2023-09-05

mysql中*是什么意思

在 mysql 中,* 的含义MySQL 中的星号 (*) 代表“所有”。在不同上下文中,它具有不同的用法。1. 选择所有列使用 * 可以选择表中的所有列:SELECT * FROM table_
mysql中*是什么意思
2024-04-26

mysql installer是什么意思

mysql installer是一款免费、开源的图形化界面安装程序,用于在不同操作系统上安装和管理mysql数据库服务器及相关组件。它简化了安装、配置、更新、卸载和管理mysql服务器和组件的过程,并提供日志记录和诊断工具,帮助解决问题。什
mysql installer是什么意思
2024-06-02

mysql中%是什么意思

mysql 中的百分号 % 是一个通配符,可匹配任意字符序列。它可用于:1. 字符串匹配(如:like '%string%'); 2. 范围查询(如:between '%start%' and '%end%'); 3. 正则表达式匹配(如:
mysql中%是什么意思
2024-04-26

mysql on是什么意思

mysql on 关键字用于在 join 操作中指定连接条件,以连接来自不同表的数据,创建匹配或合并记录的复杂查询结果。它可以与 using (column) 或 on ... where ... 一起使用,语法为:select ... f
mysql on是什么意思
2024-04-14

mysql db是什么意思

mysql db 是 mysql 数据库管理系统 (dbms) 的简称,特点包括:关系型数据库模型开源且跨平台高性能和可扩展性可靠性强,支持多种数据类型广泛应用于 web 应用程序、数据仓库、电子商务、内容管理系统和企业应用程序中。什么是
mysql db是什么意思
2024-06-02

mysql dba是什么意思

mysql dba 负责管理和维护 mysql 数据库,职责包括:基础架构管理监控系统性能和资源利用率实施备份和恢复策略进行性能优化和故障排除创建、修改和删除数据库对象管理用户权限和访问控制实施安全措施保护数据库管理用户权限和角色审计数据库
mysql dba是什么意思
2024-06-02

mysql中@是什么意思

mysql 中 @ 符号有两种用途:指定变量(@变量名)和连接表或列名(@表名或@列名),表示数据库中一个临时或派生表的别名。MySQL 中 @ 符号的含义@ 符号在 MySQL 中有两种主要用途:1. 指定变量@ 符号用于指定变量,
mysql中@是什么意思
2024-04-26

mysql sid是什么意思

mysql sid 是会话标识符,用于唯一标识数据库中特定用户的会话。它由实例 id、线程 id和递增计数器组成,可以通过 show processlist 命令查看当前会话的 sid。sid 用途广泛,包括故障排除,审计追踪和性能优化。M
mysql sid是什么意思
2024-04-14

css语言是什么意思

css语言是一种用来表现HTML或XML等文件样式的计算机语言;其英文全称是“Cascading Style Sheets”,表示层叠样式表;css不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
2023-05-14

c语言@是什么意思

c 语言中 @ 符号的含义包括:指向变量地址、格式化字符串、指定属性、预处理器指令、gcc 扩展(如打印文件名、行号和函数名)。C 语言中 @ 的含义C 语言中的 @ 符号具有多种含义,具体取决于其使用位置。1. 指向变量的地址当 @
c语言@是什么意思
2024-04-13

编程热搜

目录