恭喜,你发布的帖子
发布于 2025-12-22 15:23:17
5楼
记得小时候在夏天的雨后挖知了猴,用巴掌大的小铁铲,铲入离地皮一两厘米的土中,就像铲车一样,向前平推,左右横扫,有的树下只有一个洞,洞里只有一只知了猴;有的树下紧挨着一个洞的旁边还会有好几个洞,当然也就有好几个知了猴;要是比较幸运的话,你甚至能在一个洞里,用一根足以让它们能抓住往上攀爬的小木棍,可以从洞里提起来三、四只知了猴,这就是捅了窝子了。
优化的DB块,就是为了方便使用者捅窝子的,当然,不是知了猴的窝子,而是你要使用的数据的窝子。
背后其实还是“局部性原理”在起作用,这才是影响性能的关键。
局部性可分为时间局部性和空间局部性,在一个具有良好时间局部性的程序中,被访问过一次的存储单元位置很可能在不远的将来再被多次访问,也就是说在对存储单元引用的时间轴上,访问时间的分布是紧凑的(如FOR循环中的循环变量i);而在一个具有良好空间局部性的程序中,如果一个存储单元位置被访问了一次,那么程序在不远的将来会访问它附近的一个存储单元位置,也就是它的邻居们(如访问了数组元素array[i],那么下一个很可能就是array[i+1])。
优化块消除了地址间隙,提高了空间局部性。
请填写推广理由:
分享
只看
楼主