B树和B+树的区别、还有hash索引的区别?

B树和B+树的区别、还有hash索引的区别?

1) B树每个节点都存储了key和data,B+树的data只存储在叶子节点上。

节点不存储data,就可以存储更多的key,使得树变矮,查询操作效率更高,执行的越快。

2) 树的所有叶子节点构成了一个有序列表,可以按照关键码的次序遍历全部记录。

由于数据顺序排列并相连,所以便于区间查找和搜索。而B树需要每一层的递归遍历。

为什么不使用哈希索引:

哈希索引的绝对优势是在没有出现哈希碰撞时查询时间复杂度是O(1),查询速度非常快,但他有很多缺点;
不支持范围查询
不支持索引完成排序


版权声明:本文为weixin_43813004原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。