为什么Innodb用B+树而不用跳表
为什么Innodb用B+树而不用跳表(1)Innodb出来时跳表还没发扬光大,所以没选跳表?(2)B+树的一个节点可以存储很多关键字,而且单个节点大小可以与磁盘页对齐(默认16kb),一次IO就能传输一整个节点(跳跃表可能会出现跨页IO),大幅减少磁盘IO次数,所以B+树更适合用于文件系统及关系型数据库。(3)跳跃表的索引层建立具有随机性,磁盘不能对链表进行预读,会产生大量随机IO。(磁盘预读:从本次被读取的位置开始,顺序向后读取一定长度的数据放入内存)(4)B+树检索效率比跳表高。...
复制链接