mysql的innodb索引数据结构是B+树,而不是hash?

一、基础

1.什么是聚簇索引?

innodb中,主键的索引结构中,既存储了主键值,又存储了行数据

2.B+树和B-树的区别?

(1)B+树只有叶节点存放数据,其余节点用来索引;

(2)而B-树是每个索引节点都会有Data域。

二、mysql的innodb索引数据结构是B+树,而不是hash?

1.哈希索引适用的场景

适合等值查询(前提是不存在大量重复键值,如果存在重复键就会出现哈希碰撞的问题)。

2.哈希索引不适用的场景(为什么不用hash)

(1)不支持范围查询(经过hash算法后后,就变成不连续的了);

(2)不支持利用索引完成排序、以及like ‘xxx%’ 这样的部分模糊查询;

(3)不支持联合索引的最左前缀匹配规则;

3.什么是哈希索引?(Memory引擎)

哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值