关于mysql存储引擎Innodb的索引的理解

1.B+树

1)节点内有冗余,但并非一条记录内容完全冗余,只是冗余主键

2)有指针。叶子节点存储记录的完整内容,在叶子之间使用指针进行连接

3)一个节点内可以有多个值。

上面这个表就是根据主键进行建立B+树。下面这个表是根据三个字段建立索引,因此在 叶子节点存储主键值,索引到叶子节点之后回表到上面那个表对结果返回。

 

2. 若存在使用多个字段建立索引,那么叶子节点存储主键,如果是 select * .... 那么就会根据主键进行回表。如果通过该索引回表的方式代价高,那么就会全表扫描。

例如 select * from 表 where b>1 该情况导致回表次数太多,所以会选择全表扫描

 

3.最左前缀原则。 比如 *11 不走索引,例如 %11也是同样不走索引。但是 11*是可以走索引的

 

tips:

select 0='c'   结果是1 。原因: mysql中将数字字符转为数字,将非数字字符转为 0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值