尊敬的专家yueliangdao0608,您好:小弟一直不明白hash索引和B+树索引在数据库应用技术中的优劣,以MYSQL为例,特别是在大数据量的查询优化处理下。请解释下hash索引和B+树索引各自的使用情况?
还有一个问题,网上有人说hash索引在数据库高并发的情况下效率很低,是这样的吗?在数据库高并发的情况下hash索引和B+树索引哪个更优?谢谢!
还有一个问题,网上有人说hash索引在数据库高并发的情况下效率很低,是这样的吗?在数据库高并发的情况下hash索引和B+树索引哪个更优?谢谢!
在RANGE和CONST查询下用B+树索引才可以发挥作用。你可以去看看HASH和B+树的结构,就很清楚为什么他们这样才能发挥他们的作用。
恩,我再去看看《数据库系统概念》那本书,上面好像有这方面的介绍。
谢谢啊
但是在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