开发者社区> 问答> 正文

SQL:Hash索引和B+树索引区别

已解决

Hash索引和B+树索引区别

展开
收起
可乐大侠 2021-10-01 15:56:15 909 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    你好,主要有如下区别:

    hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询;
    hash索引不支持使用索引进行排序;
    hash索引不支持模糊查询以及多列索引的最左前缀匹配;原理也是因为hash函数的不可预测;AAAA和AAAAB的索引没有相关性;
    hash索引任何时候都避免不了回表查询数据,而B+树在符合某些条件(聚簇索引,覆盖索引等)的时候可以只通过索引完成查询;
    hash索引虽然在等值查询上较快,但是不稳定;性能不可预测,当某个键值存在大量重复的时候,发生hash碰撞,此时效率可能极差;而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低。
    
    2021-10-01 16:04:19
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载