MySQL数据库为什么大多使用B+树,而不是用Hash存储索引

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013967628/article/details/85112715

通常B+数据的查询时间为log(n),而利用Hash时间为o(1),那为什么还要用B+树呢。

对于B+树,相比于Hash好处:

1.利用Hash需要把数据全部加载到内存中,如果数据量大,是一件很消耗内存的事,而采用B+树,是基于按照节点分段加载,由此减少内存消耗。

2.和业务场景有段,对于唯一查找(查找一个值),Hash确实更快,但数据库中经常查询多条数据,这时候由于B+数据的有序性,与叶子节点又有链表相连,他的查询效率会比Hash快的多。

而有关B、B+数据的数据结构请转移

MySQL索引原理及BTree(B-/+Tree)结构详解

b、b+树结构详解

猜你喜欢

转载自blog.csdn.net/u013967628/article/details/85112715