反向键索引

来源:互联网 发布:java提换行符 编辑:程序博客网 时间:2024/06/05 11:02

     反向键索引指原来相连比较紧密的值,强制使其分散在相距比较远的位置上。例如:"11112"和"11113"虽然是连续的值,但是其反转后却变成了"21111"和"31111",这样两个值相差得比较远了,从而达到了分散的目的。

    这样做会使得索引中的顺序和存储的存储顺序之间存在很大差别,从而严重破坏聚簇因子。但这并不会影响数据的读取,因为在使用这种索引的情况下只能使用等值运算符"="所构成的查询条件。

    反向键索引中由于各个值不是相互连续的,在范围扫描中执行下一个扫描时无法查找到满足条件的数据范围中的值,所以扫描无法继续进行。

    它在减少数据的随机读取方面有比较好的效果。如销售表的特征,即经常需要把大量的数据迅速地插入到该表,例如超市的销售表。如果基于列“流水号”创建索引,类似数据比较集中,经常要读取的数据被集中存储在某个特定的范围中,因此很容易导致竞争。

    事实上,反向键并没有广泛使用,因其很难控制好。可以考虑作为备用方案(本人看法)。

原创粉丝点击