关于二次查找我有点疑问,想确认一下

来源:3-7 密集索引和稀疏索引的区别

慕粉13951610073

2019-09-12

http://img.mukewang.com/szimg/5d7a521209396b5500000000.jpg

  1. 既然innodb辅助索引,要查找二次,那么我是不是认为myisam引擎查询速度要比innodb要快。至少在利用辅助索引来进行查找上面。 

  2. 如果我的第一点想法没问题的话,那么innob为什么要这么来做,辅助索引的叶子节点为什么不直接存放物理数据的地址。这样不是更快吗?是什么样的原因让它必须这么来二次查找。

写回答

1回答

翔仔

2019-09-13

同学好,

1.对于innodb的覆盖索引,就不需要回表数据去查,覆盖索引可以参考 https://www.cnblogs.com/happyflyingpig/p/7662881.html,

其他情况下可能会比myisam稍慢。

2.

如果每个二级索引也都存储数据,那么数据得冗余好多份,得不偿失。

0
4
翔仔
回复
过客12
同学好,我记得有个<深入理解MySQL核心技术>的书籍,里面有提及覆盖索引,但是动物类的书籍好长。。。 如果想大概了解,可以看看这个 https://blog.csdn.net/itguangit/article/details/82145322 第二个问题,行级锁的支持没啥两样啊,也是锁主键索引,调优不影响锁机制,不然乱套了。 第三个问题,就是涨薪比较低,没以前夸张了,而且面试难度加大了,除非很缺人,具体可以看看我的直播视频
2020-03-10
共4条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程