索引用来快速的寻找那些具有特定值的记录。如果没有索引,一般来说执行查询时遍历整张表。
索引的原理就是把无序的数据变成有序的查询
1.把创建了索引列的内容进行排序
2.对排序结果生成倒排表
3.在倒排表内容上拼上数据地址链
4.在查询时,先拿到倒排表中的内容,在取出数据地址链,从而拿到具体数据。
都是B+树的数据结构
聚簇索引:将数据存储与索引放到了一块,并且是按照一定的顺序组织的,找到索引也就找到了数据,数据的物理存放顺序与索引顺序是一致的,即:只要索引是相邻的,那么对应的索引也一定是相邻的存放在磁盘上的。
非聚簇索引:叶子节点不存储数据,存储的是数据行地址,也就是说根据索引查找数据行的位置再去磁盘查找数据,这个就类似于一本书的目录,比如我们想要找第三章第一节,先去目录中找,找到对应的页码后再去对应的页码中看文章。