1.密集索引(dense index)

索引中为表中每条数据都建立一个索引项。例如:表中索引列值为1,2,…10的十条数据,索引中则建立相应1,2,…10这十条数据的索引列值的十个索引项。

2.稀疏索引(sparse index)

索引中仅针对表中部分数据建立索引项,具体说,就是为表中每个数据块(block)建立一个索引项。 例如:表中索引列值为1,2…10的十条数据,而索引中只为索引列值为1,5,9的数据创建相应的三个索引项,其中,索引项1指向 1,2,3,4这四条数据所在的表中数据块。

当使用稀疏索引查找索引列值为3的数据时,则先到索引中找到为1的索引项,这样,就找到了索引列值为1,2,3,4的数据所在的表数据块,然后,就可以从该数据块中找到索引列值为3的数据。 

3.两者优劣势

1)稀疏索引会占用较少空间,但由于查找数据时要进行数据块内部的检索,所以查询数据所需时间会长一些;密集索引则不然;

2)为了确保稀疏索引中没有相应索引项的数据的正常查询,需要表中数据在数据文件中已按照索引列值进行排序;密集索引则不需要。