反向索引的重点是什么?

时间:2013-11-09 20:37:09

标签: database distributed-computing

我刚学会了反向索引。 wikipedia页面说明了

  

在数据库管理系统中,反向键索引策略会反转   在索引中输入之前的关键值。1例如,值   24538在索引中变为83542。反转键值是   特别适用于索引数据,如序列号,其中   每个新密钥值大于先前值,即值   单调增加。反向键索引变得特别   在大批量交易处理系统中很重要,因为它们   减少索引块的争用。

为什么反转键值对索引序列号有用?另外,为什么反向索引有助于减少高容量系统中索引块的争用?简而言之:反向索引的重点是什么?

1 个答案:

答案 0 :(得分:11)

在您的示例中,它指的是序列号是反向索引的良好应用程序。取引号24538,它将在某个点插入索引中。序列中的下一个数字将是24539,它将插入非常接近第一个数字的索引中,因为最高有效数字是相同的。扩展这一点,许多序列号都需要在同一点插入,这涉及到扩展索引块和重新平衡索引的重大开销。

这些数字的最低位数变化比最重要的数字更快。因此,反转数字的顺序分别给出8354293542。这两个数字将被分开插入到索引中,并将其扩展为多个数字,索引将以更加平衡的方式构建,从而减少索引管理的开销。

在计算术语中反转数字的操作很简单,而管理索引可能涉及许多磁盘访问,因此以减少管理开销的方式在索引中插入项目可以显着提高性能。