索引底层是通过 哈希索引 b树索引 b+树索引实现的
哈希索引(hash index)基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),哈希码是一个较小的值,并且不同键值的行计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。
B TREE的结构可以分析出:B TREE以类似二分的结构,通过范围过滤的算法来提高查询效率
B+TREE的特点:
1、节点中关键字x与指针p个数相同
2、目标数据只有到达叶子节点才会命中(data数据只存在于叶子节点),也就是说使用B+TREE的索引一定会走到叶子节点
3、每个叶子节点增加一个指针,按顺序指向相邻叶子节点(提升区间访问性能)