B+tree相较于B-tree的显著优势
B的每个叶子节点包含key和data值,每一页的存储空间是有限的(16K),data很大则导致每一页存储的key很少,同样存储规模情况下,B的深度增大,会增加磁盘查询的I/O次数,影响查询效率和性能。
B+的data存放在叶子节点,key存放在非叶子节点中,这样每个节点存储的key数量增加,降低B+高度,提高查询效率。
聚集索引和辅助索引
聚集索引——建表时,主键就是聚集索引;没有主键,则选择唯一索引作为聚集索引;一般是表的无关列。数据录入时,按照主键顺序,在磁盘数据页中有序存储数据行,数据页作为B数的叶子节点,再生成枝节点和根节点。
辅助索引——在建表时,设置了主键列, 录入数据时,就会按照主键列的顺序存储到磁盘上,将排好序的整行数据生成叶子节点(磁盘的数据页就是叶子节点)。
区别——
聚集索引:
1.只能有一个,非空唯一,一般是主键。
2.叶子节点就是磁盘的数据行存储的数据页。
辅助索引:
1.辅助索引,可以有多个,是配合聚集索引使用的。
2.辅助索引,只会提取索引键值,进行自动排序生成B树结构。
其他
联合索引——列的重复值较多,使用
前缀索引——列值长度较长,使用
主键索引——尽可能是无关列使用,例如ID。
索引失效——百分号在最前面,例如“%abc".
10万+

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



