hash索引和B+树索引的比较

aioros9520 2009-02-05 03:10:02
尊敬的专家yueliangdao0608,您好:

小弟一直不明白hash索引和B+树索引在数据库应用技术中的优劣,以MYSQL为例,特别是在大数据量的查询优化处理下。请解释下hash索引和B+树索引各自的使用情况?
还有一个问题,网上有人说hash索引在数据库高并发的情况下效率很低,是这样的吗?在数据库高并发的情况下hash索引和B+树索引哪个更优?

谢谢!
...全文
1976 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fll00790080 2010-04-16
  • 打赏
  • 举报
回复
所以我的意见是用BTree,如果你对Hash中Hash函数不是很了解的话
fll00790080 2010-04-16
  • 打赏
  • 举报
回复
我对这个问题也很疑问,在理论上,Hash index 在等值查询时,比BTree效率更加高,
但是在PostgreSQL中,无论是存储大小或等值查询,都不如BTree。
以下是PostgreSQL的官方文档。
Note: Testing has shown PostgreSQL's hash indexes to perform no better than B-tree indexes, and the index size and build time for hash indexes is much worse. Furthermore, hash index operations are not presently WAL-logged, so hash indexes may need to be rebuilt with REINDEX after a database crash. For these reasons, hash index use is presently discouraged.

--------------http://www.postgresql.org/docs/8.1/static/indexes-types.html
sunhoward 2010-03-07
  • 打赏
  • 举报
回复
到底是什么呀????
aioros9520 2009-02-09
  • 打赏
  • 举报
回复
哦,您说的RANGE是范围查询吧?CONST查询是单个关键字的查询吧?
恩,我再去看看《数据库系统概念》那本书,上面好像有这方面的介绍。
谢谢啊
懒得去死 2009-02-06
  • 打赏
  • 举报
回复
在CONST查询下,HASH索引可以发挥最大的作用。
在RANGE和CONST查询下用B+树索引才可以发挥作用。

你可以去看看HASH和B+树的结构,就很清楚为什么他们这样才能发挥他们的作用。
百年树人 2009-02-06
  • 打赏
  • 举报
回复
关注,帮顶...

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧