show index mysql_MySQL SHOW INDEX 语法解析
本文对show index from tablename;语法进行分析。
如:show index from `order`
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 注释的意思。
show index mysql_MySQL SHOW INDEX 语法解析相关推荐
- show index mysql_MySQL SHOW INDEX语法的实际应用
以下的文章主要描述的是MySQL SHOW INDEX语法的实际操作用法以及其实际查看索引状态(语法)的具体内容的描述,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱. SHOW IN ...
- index mysql_mysql 原理~ index的详解
一 简介:今天咱们来介绍下index的一些东西 二 数据的基本存储结构 1 磁盘空间被划分为许多大小相同的块(Block) 在内存中读出是页(Page). 2 一个表的这些数据块以链表的方式串联在一起 ...
- JavaScript的语法解析与抽象语法树
抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构.也就是说,对于一种具体编程语言下的源代码,通过构建语法树的形式将源代码中的语句映射到树中的每 ...
- 转JavaScript的语法解析与抽象语法树
JavaScript的语法解析与抽象语法树 Jul 10, 2015 抽象语法树(Abstract Syntax Tree)也称为AST语法树,指的是源代码语法所对应的树状结构.也就是说,对于一种具体 ...
- pg/og内核原理-词法语法解析(更新中)
目录 概念与含义 流程概览 词法语法代码 parsenode.h kwlist.h scan.l gram.y bison的使用 查看状态机 解决规约冲突 plpgsql的词法与语法 概念与含义 一条 ...
- Solr语法解析及SolrJ使用
Solr语法解析及SolrJ使用 标签(空格分隔): Solr 官方指南:http://lucene.apache.org/solr/quickstart.html Solrj 之HttpSolrCl ...
- [免费专栏] Android安全之APK应用程序分析「附带Smali基础语法解析」
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...
- pandas自定义设置dataframe每个索引的标签、自定义设置索引的列名称(customize index name and index label)
pandas自定义设置dataframe每个索引的标签.自定义设置索引的列名称(customize index name and index label) 目录
- 用 C 语言开发一门编程语言 — 语法解析器
目录 文章目录 目录 前文列表 编程语言的本质 词法分析 语法分析 使用 MPC 解析器组合库 安装 快速入门 实现波兰表达式的语法解析 波兰表达式 正则表达式 代码实现 前文列表 <用 C 语 ...
最新文章
- Python 把较长的一行代码分成多行的技巧
- LeetCode 102. Binary Tree Level Order Traversal
- java删除指定索引元素_将对象/元素添加到列表中的Java指定索引处
- Kafka集群部署搭建完美标准版
- inputstreamreader未关闭会导致oom_ThreadLocal 一定会导致内存泄露?
- 「报表开发者必看」避开这6个误区,报表才能好看又实用
- java file的用法_Java 关于File使用
- mysql5.5.9_centos下mysql5.5.9编译安装
- c语言迭代埃特金加速算法,5-埃特金加速迭代算法
- 笔记:WPS关于设置页眉页脚的问题
- 简析FUP LB5CM/LB6CM 落地式低速大容量冷冻离心机
- 机器学习入门实战——决策树算法实战Titanic数据集
- linux连接小米随身wifi密码忘记了,小米路由器无线密码(wifi密码)忘记了怎么办?...
- 港科夜闻|2022年香港科大气候适应及复原力大会圆满闭幕,政经领袖研讨香港气候政策与绿色金融发展...
- centos抓包使用
- java地图点线面_点线面类型互转
- 输入netsh winsock reset 重启电脑生效
- 《漂浮城堡历险记》的云端之旅
- iOS WidgetUI开发遇到的问题点
- 系统设计原则及技术指标
热门文章
- R语言四格表的统计分析及假设检验
- pandas读写结构化数据(read_csv,read_table, read_excel, read_html, read_sql)
- 固态硬盘上安装centos_固态硬盘使用f2fs作为根分区安装linux
- mysql 非正常关闭_mysql非正常关机,无法启动解决方案(转)
- 【效率工具】Linux服务器终端MobaXterm
- css 文字过长 省略号,css实现文字过长显示省略号的方法
- linux lvm使用情况,Linux LVM系列(一)lvm使用
- linux-进程的替换exec函数族
- 四十二、文件的物理结构(下)
- 【建站系列教程】4、还不知道SEO你就OUT了