07.InnoDB引擎之-自适应哈希索引

参考文章:

  • 《MySQL技术内幕:InnoDB存储引擎》

哈希是一种非常快的查找方法,在一般情况下这种查找的时间复杂度为O(1),而B+树的查找次数取决于B+树的高度。InnoDB存储引擎会监控表上各索引的查询,如果检测到建立哈希索引可以带来速度的提升,则建立哈希索引,称之为自适应哈希索引。

  • 自适应哈希索引是通过缓冲池的B+树页构造而来的,索引建立的速度很快。
  • InnoDB存储引擎会自动根据访问频率和模式来自动地为某些热点页建立哈希索引。

建立哈希索引需要满足以下要求:

  • 对页的连续访问模式必须一样

例如:有联合索引(a,b),有两种访问模式:

  • WHERE a=xxx
  • WHERE a=xxx and b=xxx。

如果上述两种查询条件交替进行,则InnoDB存储引擎不会对该页构造哈希索引。

  • 以该模式访问了100次
  • 页通过该模式访问了N次,其中N=页中记录*1/16

说明:启用哈希索引后,读取和写入速度可以提高2倍;辅助索引的连接操作性能可以提升5倍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值