1.1. 索引是什么有什么作用
索引是一种特殊的数据接结构(B树或哈希表),用于快速定位与查询数据库表的记录,可以优化数据库查询,通过快速定位主键查询表的记录,无需查找所有的表记录。
1.2. 索引的种类
1.2.1. B树索引
B树索引是最常用的索引类型,适用于范围查询和排序操作。它通过将数据分成多个节点,每个节点包含一定范围的值,从而实现快速查找。
- 结构:
-
- 根节点:树的最顶层节点。
- 内部节点:包含指向子节点的指针。
- 叶子节点:包含实际的数据记录或指向数据记录的指针。
- 查找过程:
-
- 从根节点开始,根据查询条件逐步向下查找。
- 每次查找都会根据节点中的值,快速定位到下一个节点。
- 最终到达叶子节点,找到满足条件的记录。
1.2.2. 哈希索引
哈希索引通过哈希函数将键值映射到特定的位置,适用于等值查询(如=
操作)。哈希表的查找速度非常快,但不支持范围查询(如>
、<
)。
- 结构:
-
- 哈希函数:将键值映射到一个固定大小的数组中。
- 桶(Bucket):存储实际的数据记录或指向数据记录的指针。
- 查找过程: