介绍:目前传统关系型数据库常用的索引类型有B+树和Hash两种,比如MySQL。
1、B+树索引存取方法的选择
所谓选择索引存取方法,实际上就是根据应用要求确定对应关系的哪些属性建立索引、哪些属性列建立组合索引、哪些索引要设计为唯一索引等。一般来说:
(1)如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或者这组)属性上建立索引(或组合索引)。
(2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。
(3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。
关系上定义的索引数并不是越多越好,系统为维护索引要付出代价,查找索引页要付出代价;例如:若一个关系的更新频率很高,这个关系上定义索引不能太多,因为更新一个关系时,必须对这个关系上的有关索引做相应的修改。
2、Hash索引存取方法的选择
选择hash存取方法的规则如下:如果一个关系的属性主要出现在等值连接条件中或主要出现在等值比较条件中,而且满足下列两个条件之一,则此关系可以选择hash存取方法。
(1)一个关系的大小可预知,而且不变。
(2)关系的大小动态改变,但数据库管理系统提供了动态hash存取方法。