要说明这个原理,首先要知道局部性原理:当一个数据被用到时,其附近的数据也通常会马上被使用。程序运行期间所需要的数据通常比较集中。
有了局部性原理,操作系统磁盘的访问方式就改变了,访问数据的时候不是一个字节一个字节地读出来,而是一次读出一个页(一般为4k或8k)的数据,这些数据是物理相邻的,这就是由局部性原理引申出的磁盘预读。
B-Tree作为索引(mysql在实现上实际是B+-Tree)能够提高查询效率主要有两点:
B-Tree作为数据库索引利用了局部性原理,通过多路搜索减少访问节点次数,提升查询效率。每个节点大小设计为一页,使得一次IO操作能获取整个节点数据。通常高度不超过3,确保高效检索。红黑树因高度问题不适合作为外存索引,导致多次IO,性能较低。
2万+
1380
1万+
2849
383
917

被折叠的 条评论
为什么被折叠?