show index 中部分字段的含义

news2024/11/16 13:35:44

show index from 表名 查看某张表的索引情况

另: SELECT * FROM information_schema.STATISTICS WHERE TABLE_NAME = "t1"show index from t1 作用相似,且会返回更多的字段信息


创建一张测试表t1:

CREATE TABLE `t1` (
 `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
 `name` CHAR ( 20 ) CHARACTER 
 SET utf8 NOT NULL DEFAULT '',
 `age` INT ( 11 ) DEFAULT NULL,
 `sex` enum ( 'F''M' ) CHARACTER 
 SET utf8 DEFAULT NULL,
 PRIMARY KEY ( `id` ),
 KEY `idx_name` ( `name` ),
 KEY `idx_name_age` ( `name``age` ),
 KEY `idx_name_sub` (
 `name` ( 5 )) 
ENGINE = INNODB AUTO_INCREMENT = 6 DEFAULT CHARSET = utf8;

show index from t1 结果如下:

alt

写入几条数据:

INSERT INTO t1 (`name`,age,sex) VALUES ('青莲居士',61,'M'); 
INSERT INTO t1 (`name`,age,sex) VALUES ('少陵野老',58,'M'); 
INSERT INTO t1 (`name`,age,sex) VALUES ('铁冠道人',64,'M'); 
INSERT INTO t1 (`name`,age,sex) VALUES ('易安居士',73,'F'); 
INSERT INTO t1 (`name`,age,sex) VALUES ('稼轩居士',67,'M');


alt

1. Table


表名称


2. Non_unique


如果是主键索引或唯一索引, 则为0; 如果是普通索引,则为1

着重注意多列组成的联合索引,可以设置为唯一索引

3. Key_name


索引名称


4. Seq_in_index


该列在索引中的序号,从1开始;

只有当存在(多列组成的)联合索引时,该字段才可能出现2,3,4等..


如本例中,对"name"和"age"字段建了一个联合索引idx_name_age.在该索引中,name字段排在第一,age字段排在第二,所以age的Seq_in_index值为2


5. Column_name


列名称


6. Collation


collation 英[kəˈleɪʃn] 美[kəˈleɪʃn]

n. 校对,核对;整理; (对书卷号码、编页等的) 核实,配页; 牧师职务的授予;

[例句]Have you completed the collation of this book? 这本书你校勘完毕没有?

列以什么方式存储在索引中, 在MySQL 8.0之前, 只有值‘A’(升序,asc)或NULL(无分类);

8.0之后,增加了对desc的支持

可参考: InnoDB一棵B+树,可以存放多少行数据 ,搜索降序索引


如再新增一个字段作品数量,

-- 在name字段后新增一个opus_num字段,类型为int(11)
alter table t1 add column opus_num INT(11not null after `name`;
alt

opus 英[ˈəʊpəs] 美[ˈoʊpəs]

n. (按个别作曲家的创作排列的) 编号乐曲,作品编号; 主要(文学等)作品; (尤指) 大作,巨著;

[例句]This magnum opus took ten years to complete. 这部巨著历时十年始告成。

复数:opuses


为该列创建一个普通索引,降序排列

create index idx_opus on t1(opus_num desc)

此时的 索引信息如下:

alt

7. Cardinality


cardinality

n. 基数;集的势;

[例句]They have the same cardinality. 它们有相同的基数。


该字段 估计索引中不重复记录. 如果这个相对值很小,可能就要评估索引是否有意义. 即可以通过该字段,来评估索引是否合理

cardinality字段是索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。cardinality根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,MySQL使用该索引的机会就越大。

如 性别字段、类型字段,其可取值范围很小,称为低选择性.这类字段一般不需要建索引.


可参考:

MySQL中Cardinality值的介绍


8. Sub_part


如果列只是一部分被编入索引(即前缀索引),则该字段将不为NULL,而为被编入索引的字符数目. 如果整列被编入索引, 则为NULL.


可参考: 前缀索引,一种优化索引大小的解决方案


有些类似git的commit_id,全长有几十位.但仅用前6位或前8位,就可以区别和标识

如本例中,对"name"字段建了一个前缀索引idx_name_sub,截取了"name"列的前5个字符作为索引.故而对于该索引 Sub_part的值为5


9. Packed


指示关键字如何被压缩. 如果没有被压缩,则为NULL.


10. Null


如果该列含有NULL值, 则为YES.


11. Index_type


使用的索引类型(BTREE, FULLTEXT, HASH, RTREE之一)

可参考 MySQL的四种索引类型

绝大多数情况下都是 BTREE


12. Comment


评注




(以下字段为新增)


13. Index_comment



14. Visible



15. Expression


本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】STL详解(十二)—— 用哈希表封装出unordered_map和unordered_set

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C学习 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C】STL…

Zookeeper 集群搭建

Zookeeper Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 Zookeeper 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架 一旦这些数据的状态发生变化,Zookeeper就将负责通知…

【EI复现】基于同步发电机转动惯量和阻尼系数协同自适应控制策略(Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

华为OD机试 - 计算最大乘积(2022Q4 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

分贝定义简介

一、什么是分贝 辅助单元Bel表示任何给定部件、电路或系统的输入和输出之间的对数比L,并且可以用电压、电流或功率来表示: 如果使用场量(电压或电流)代替功率量,则: 我们可以将增益或损耗因子相加为正或负dB值,而不是将其乘以比率。 分贝与功率转化的速读表如下所示:…

流程图设计制作都有哪些好用的工具

流程图是一种直观的图形表示方式,通常用于显示事物的过程、步骤和关系。在现代工作中,设计师经常需要绘制各种流程图来解释工作过程、产品设计等。本文将为您推荐7个流程图软件,以帮助您快速绘制高效的流程图,并提高工作效率。 即…

IDEA 2021.2.2设置自动热部署

1.导入包坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency> 2.pom.xml添加piugins插…

Redis-双写一致性

双写一致性 双写一致性解决方案延迟双删&#xff08;有脏数据的风险&#xff09;分布式锁&#xff08;强一致性&#xff0c;性能比较低&#xff09;异步通知&#xff08;保证数据的最终一致性&#xff0c;高并发情况下会出现短暂的不一致情况&#xff09; 双写一致性 当修改了数…

光伏并网逆变器低电压穿越技术研究(Simulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

JavaScript系列从入门到精通系列第十八篇:JavaScript中的函数作用域

文章目录 前言 一&#xff1a;函数作用域 前言 我们刚才提到了&#xff0c;在<Script>标签当中进行定义的变量、对象、函数对象都属于全局作用域&#xff0c;全局作用域在页面打开的时候生效在页面关闭的时候失效。 一&#xff1a;函数作用域 调用函数时创建函数作用域…

New Journal of Physics:不同机器学习力场特征的准确性测试

文章信息 作者&#xff1a;Ting Han1, Jie Li1, Liping Liu2, Fengyu Li1, * and Lin-Wang Wang2, * 通信单位&#xff1a;内蒙古大学物理科学与技术学院、中国科学院半导体研究所 DOI&#xff1a;10.1088/1367-2630/acf2bb 研究背景 近年来&#xff0c;基于DFT数据的机器学…

Docker安装及基本使用

一、Docker安装 1.下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum -y install yum-utils device-mapper-persistent-datalvm2 2.设置一下下载Docker的镜像源 依赖环境下载完毕以后&#xff0c;设置下载的镜像源&#xff0c;如果不设置&#xff0c…

使用Docker部署Redis(单机部署)

目录 一、查看Redis镜像版本二、拉取自己需要的镜像版本三、创建挂载目录四、添加配置文件五、运行Redis容器六、连接测试 一、查看Redis镜像版本 先去Docker Hub查看Redis镜像有那些版本&#xff0c;我部署的时候Redis最新已经到7.x的版本了&#xff0c;我这里准备部署6.x的版…

17哈希表-简单遍历

目录 LeetCode之路——383. 赎金信 分析&#xff1a; 解法一&#xff1a;哈希表 解法二&#xff1a;数组 LeetCode之路——383. 赎金信 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&…

pinduoduo.item_get拼多多平台根据ID取商品详情 API 封装数据接口返回值说明

参数说明 通用参数说明 version:API版本key:调用key,测试key:test_api_keyapi_name:API类型[item_search,item_get]cache:[yes,no]默认yes&#xff0c;将调用缓存的数据&#xff0c;速度比较快result_type:[json,xml,serialize,var_export]返回数据格式&#xff0c;默认为jsonl…

【SQL】MySQL中的约束

1. 主键约束&#xff08;primary key&#xff09;&#xff1a; 相当于唯一约束非空约束分为单列主键&#xff0c;多列联合主键&#xff0c;一个表只有一个主键多列联合主键的每列都不能为空 2. 自增长约束&#xff08;auto_increment&#xff09;&#xff1a; 用在单列主键后…

Druid数据库连接池

spring:datasource:username: rootpassword: 19990802url: jdbc:mysql://localhost:3306/mybatis?useUnicodetrue&characterEncodingutf-8&serverTimezoneGMTdriver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource # type可以指定…

【C++设计模式之迭代器模式】分析及示例

简介 迭代器模式是一种行为型设计模式&#xff0c;它提供了一种顺序访问聚合对象元素的方法&#xff0c;而又不需要暴露聚合对象的内部结构。迭代器模式通过将遍历算法封装在迭代器对象中&#xff0c;可以使得遍历过程更简洁、灵活&#xff0c;并且符合开闭原则。 描述 迭代…

有哪些靠谱的程序员兼职平台?

随着时代需求的增长和程序员人才市场的日益饱和&#xff0c;程序员接私活已经不再是一个新鲜的话题了。不得不说&#xff0c;靠接单赚钱是真的爽&#xff0c;感觉会比正经工资收入更奇妙。 但是&#xff0c;从接单数量、质量&#xff0c;到薪资多少&#xff0c;再到时间安排等…

量化交易是什么意思,量化到底是怎么赚钱的?

能直连交易所&#xff0c;获取完整、实时、准确的数据。必须有交易接口&#xff0c;根据策略指令&#xff0c;实现下单撤单&#xff0c;自动交易&#xff0c;获取账户资金和持仓。渠道要安全正规&#xff0c;不通过第三方中转。有了这几点保障才能安全地开始量化交易 在这个金…