mysql索引

什么是索引

排好序的快速查找数据结构。

 

索引的用途

索引用来快速寻找那些具有特定值的记录。

索引会影响where后面的查找,和order by 后面的排序

 

索引的原理

就是把无序的数据变成有序的查询

1.把创建了索引的列的内容进行排序

2.对排序结果生成倒排表

3.在倒排表内容上拼上数据地址链

4.在查询的时候,先拿到倒排表内容,再取出数据地址链,从而拿到具体数据

数据结构是b+树

 

聚集索引和非聚集索引

都是b+树的数据结构

聚集索引:把索引和数据放在一起,并且是按照一定的顺序组织起来的,找到了索引也就找到了数据,数据的物理存放顺序和索引顺序是一致的

优点:

只需要一次查询,效率比较高

对于范围查询效率高,因为数据是按照大小排列的

适合用在排序的场合,因为数据是按照大小排列的

非聚集索引:将索引和数据行地址放在一起,找到索引之后根据数据行地址到磁盘查找数据

 

索引的分类

1.单值索引:一个索引包含单个列

2.唯一索引:索引列的值必须唯一

3.复合索引:一个索引包含多个列

 

mysql索引

上一篇:Orchard Core之Yessql 记录


下一篇:SQL Mode