index和key
来源:互联网 发布:哪些手机支持4g十网络 编辑:程序博客网 时间:2024/06/16 11:38
查看索引
mysql> show index from tblname;
mysql> show keys from tblname;
· Table
表的名称。
· Non_unique
如果索引不能包括重复词,则为0。如果可以,则为1。
· Key_name
索引的名称。
· Seq_in_index
索引中的列序列号,从1开始。
· Column_name
列名称。
· Collation
列以什么方式存储在索引中。在MySQL中,有值‘A’(升序)或NULL(无分类)。
· Cardinality
索引中唯一值的数目的估计值。通过运行ANALYZE TABLE或myisamchk -a可以更新。基数根据被存储为整数的统计数据来计数,所以即使对于小型表,该值也没有必要是精确的。基数越大,当进行联合时,MySQL使用该索引的机 会就越大。
· Sub_part
如果列只是被部分地编入索引,则为被编入索引的字符的数目。如果整列被编入索引,则为NULL。
· Packed
指示关键字如何被压缩。如果没有被压缩,则为NULL。
· Null
如果列含有NULL,则含有YES。如果没有,则该列含有NO。
· Index_type
用过的索引方法(BTREE, FULLTEXT, HASH, RTREE)。
· Comment
在我们使用MySQL中可能压根不会注意这个问题,因为大多数情况下他们展示出来的效果都差不多,但是还是不能将他们划等号(至少理论上是这样)
索引(index)和约束(key)的区别主要在于二者的出发点不同,索引(index)负责维护表的查找和操作速度,约束(key)负责维护表的完整性。
而有这个困惑的话,很可能是由于MySQL中有一个奇怪现象:
MySQL中的索引是约束性索引(即创建索引自动也会创建约束)
并且MySQL中创建约束也会自动附带索引。
很奇怪吧,两者不同的东西但是创建的时候又会附带给对方,为什么这样做呢?因为原因是:
MySQL中的约束效果是通过索引来实现的,MySQL数据库判断是否当前列是否unique就是通过unique索引判断的。
最后总结下:
约束有主键约束,唯一约束,外键约束,非空约束,检查约束(在MySQL中压根无法使用检查约束,但可以正常建立),等
索引有普通索引,主键索引,唯一索引,联合索引,全文索引,等。
两者的实现都可以通过建表时实现,建表后的话通过alter语句来实现建立与删除,具体语句直接百度以上二点我经过测试在MySQL5.5 ,innoDB存储引擎下。
在理论上是不能将MySQL的key和index划等号的,他们不是一回事,但在实际使用中,他们基本没有区别。
阅读全文
0 0
- index和key
- 关于mysql中的key和index
- SQL Server Primary Key和Clustered Index
- Mysql中key和index区别
- mysql中index和key的区别
- 消除Key Lookup和RID Lookup Part1:使用Include Index
- MySQL里的Key和Index有什么不同?
- Mysql索引详解及优化(key和index区别)
- Mysql索引详解及优化(key和index区别)
- reverse key index
- mysql index and key
- Primary Key & Index
- SQL key vs index
- MySql key and index
- reverse key index、B-tree index
- PRIMARY KEY、UNIQUE KEY、INDEX区别
- PRIMARY KEY、UNIQUE KEY、INDEX区别
- PRIMARY KEY、UNIQUE KEY、INDEX区别
- 《Windows核心编程》读书笔记十四 探索虚拟内存
- easyUI treereload之后保持原来节点的展开状态
- Gradle、Maven、Ant的介绍
- java向上转型
- 当spring 容器初始化完成后执行某个方法
- index和key
- PTA 循环单链表区间删除
- 1114: 逆序
- selenium+python百度注册页面切换+alter处理
- CSS
- 前端开发中的兼容性问题-CSS篇
- IDEA项目无法识别maven
- 递归思想
- gfoj987约数统计