采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
稀疏索引的理解是指向一个块,不确定具体的数据是哪一个。但是在图中稀疏索引存储的是指向一个表的指针还是指向这个表里的某一条数据的指针?如果是指向某一条特定的数据那不是密集索引嘛?图中所示每一个主键索引的btree的叶子节点都存储了一个指向特定的一条数据的地址,那为什么是稀疏索引?是不是应该理解为叶子节点中存储的是指向一个完整的表(多条数据)。
同学好, MyISAM索引文件和数据文件是分离的,索引文件仅保存记录所在页的指针(物理位置),通过这些地址来读取页(一页里面可以存储很多行的数据),进而读取被索引的行,你可以看到,图里面只是一个形象的比喻,可以看看下面的数据的第一行记录,很明显偏移值并不是连续的。
是不是表示就读取而言,MyISAM效率要高于InnoDB,如果是InnoDB查询时走稀疏索引获取主键后还要再走一次密集索引,这样理解对吗
如果针对数据量大而言,是可以这样理解的,但如果就几千几百行数据,差别不是很大,而且因为有缓存,所以基本速度上没区别
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.8k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14