数据库——索引
一、索引类型分类
-
B+树
B+树索引就是一种将索引值按一定的算法,存入一个树形的数据结构中(二叉树),每次查询都是从树的入口根结点开始,依次遍历节点,获取值。
为什么索引采用B+树而不是B树呢,相信学过数据结构的同学了解B+树中结点会有指向兄弟结点的指针因此B+树只要遍历叶子节点就可以实现整棵树的遍历,而且在数据库中基于范围的查询是非常频繁的,而B树只能中序遍历所有节点,效率太低。
-
Hash
对于哈希索引来说,底层的数据结构肯定是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快O(1),但是无法范围查询。
因为在数据库设计之初我们无法明确了解日后的需要到底是怎么样的,因此建议数据库添加索引时采用B+树这样的数据结构。
二、索引的形态
-
聚簇索引
-
非聚簇索引
聚簇索引与非聚簇索引的区别分析
- 一个表中只能拥有一个聚集索引,而非聚集索引一个表可以存在多个。
- 聚集索引,