SHOW INDEX 你用过吗???
2015-12-10 14:51
148 查看
mysql中 show 包含了很多指令,例如show table status, show innodb 等等等,
今天来讲讲mysql中SHOW INDEX FROM tableName
本例中用到的表的sql语句
下面我们先来创建三个索引:
msyql > SHOW INDEX FROM `USER`;
在mysql中的网站 http://dev.mysql.com/doc/refman/5.7/en/show-index.html 他是对下面的字段这样解释的
table : 表的名称
Non_unique : 如果该列索引中不包括重复的值则为0 否则为1
Key_name : 索引名称,如果是主键的话 则为PRIMARY
Seq_in_index : 索引中序列的序列号,从1开始,如果是组合索引 那么按照字段在建立索引时的顺序排列 如 ('c1', 'c2', 'c3') 那么 分别为 1, 2, 3
Column_name : 列的名称
Collation : 列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分序)
Cardinality : 索引中唯一值的数目的估计值,通过运行
Sub_part : 索引的长度,如果是部分被编入索引 则该值表示索引的长度 ,如果是整列被编入索引则为null,例如name_Index和school_Index 两个索引,比较一下上面两个索引创建时候的区别
Packed : 指示关键字如何被压缩。如果没有被压缩,则为NULL
Null : 如果该列的值有NULL,则是YES 否则为NO..
Index_type : 所用索引方法(BTREE, FULLTEXT, HASH, RTREE)
Commnet : 关于在其列中没有描述的索引的信息
Index_comment : 为索引创建时提供了一个注释属性的索引的任何评论
今天来讲讲mysql中SHOW INDEX FROM tableName
本例中用到的表的sql语句
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id 自增,主键', `name` varchar(12) NOT NULL DEFAULT '' COMMENT '用户姓名', `sex` tinyint(1) NOT NULL DEFAULT '0' COMMENT '用户性别,0 保密,1女,2 男', `score` int(3) NOT NULL COMMENT '分数', `class_id` varchar(12) NOT NULL COMMENT '班级', `school_id` int(11) NOT NULL COMMENT '学校id', `created_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间', PRIMARY KEY (`id`), ) ENGINE=InnoDB AUTO_INCREMENT=192904 DEFAULT CHARSET=utf8 COMMENT='用户个人信息表';
下面我们先来创建三个索引:
CREATE INDEX name_Index ON `user`(`name`(5)); 2 CREATE INDEX school_Index ON `user`(`school_id`); 3 CREATE INDEX class_score_Index ON `user`(`class`, `score`);
msyql > SHOW INDEX FROM `USER`;
在mysql中的网站 http://dev.mysql.com/doc/refman/5.7/en/show-index.html 他是对下面的字段这样解释的
table : 表的名称
Non_unique : 如果该列索引中不包括重复的值则为0 否则为1
Key_name : 索引名称,如果是主键的话 则为PRIMARY
Seq_in_index : 索引中序列的序列号,从1开始,如果是组合索引 那么按照字段在建立索引时的顺序排列 如 ('c1', 'c2', 'c3') 那么 分别为 1, 2, 3
Column_name : 列的名称
Collation : 列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分序)
Cardinality : 索引中唯一值的数目的估计值,通过运行
ANALYZE TABLEor myisamchk -a 来更新,基数根据被存储为整数的统计数据来计数,所以对于小表该值没必要太过于精确,而对于大数据量的表来说,改值越大当进行联合时,MySQL使用该索引的机 会就越大。
Sub_part : 索引的长度,如果是部分被编入索引 则该值表示索引的长度 ,如果是整列被编入索引则为null,例如name_Index和school_Index 两个索引,比较一下上面两个索引创建时候的区别
Packed : 指示关键字如何被压缩。如果没有被压缩,则为NULL
Null : 如果该列的值有NULL,则是YES 否则为NO..
Index_type : 所用索引方法(BTREE, FULLTEXT, HASH, RTREE)
Commnet : 关于在其列中没有描述的索引的信息
Index_comment : 为索引创建时提供了一个注释属性的索引的任何评论
相关文章推荐
- php 数组转json格式
- bzoj1208 [HNOI2004]宠物收养所(STL,Treap)
- 学iOS开发之前需要那些准备工作
- OCP-1Z0-051-2015-52题
- adbl连接不上 daemon not running. starting it now on port 5037 ADB server didn't ACK
- Restful传递数组参数及注解大全
- 人生感悟:你其实远没有自己想象中那么努力
- web.xml加载顺序
- shell记录
- iOS编程之前
- Chrome扩展开发教程
- 在寒冷中奔跑
- UNIX环境编程学习笔记—文件I/O之标准I/O流
- Hdu 1163 Eddy's digital Roots(九余数定理)
- Android群英传学习笔记——动画机制
- thinkphp实现分页
- PHP 判断数组是否为空的5大方法
- GitHub实战系列~3.提交github的时候过滤某些文件 2015-12-10
- [原创][FPGA][IP-Core]altlvds_tx & altlvds_rx
- Java学习-----单例模式