mysql中索引的数据结构是什么样的?

提问者:帅平 问题分类:面试刷题

mysql中索引的数据结构是什么样的?

1 个回答
Rae
Rae 管理员

常见MySQL索引一般分为:Hash索引和**B+**树索引,InnoDB引擎中默认的是B+树。

B+树 是最常用于索引的数据结构,时间复杂度低:查找、删除、插入操作都可以可以在 logn 时间内完成。另外一个重要原因存储在 B+树 中的数据是有序的。

在B+树常规检索场景下,从根节点到叶子节点的搜索效率基本相当,不会出现大幅波动,而且基于索引的顺序扫描时,也可以利用双向指针快速左右移动,效率非常高。

哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。

发布于:1个月前 (10-25)
我来回答