2013-11-09 50 views
0

我刚刚了解到反向索引。该wikipedia页说,反向索引的要点是什么?

在数据库管理系统,一个反向键索引策略,在指数进入前逆转 键值。例如1例如,值 24538在索引中变成83542。扭转密钥值是 用于索引数据,例如序列号,其中 每个新的密钥值大于先前值时,即,值 单调增加是特别有用的。反向密钥索引在大量事务处理系统中变得尤其重要,因为它们减少了对索引块的争用。

为什么颠倒对索引序号有用的键值?另外,为什么反向索引有助于减少高容量系统中索引块的争用?总之:反向索引的要点是什么?

+0

“减少键值”不是文章说什么。减少的是指数中同一点的争用数量。对数字进行反转可以为实际上单调递增的值提供有用的准随机散射,这非常适合进入B树的数据。 –

回答

3

在您的例子是指连续的数字是反向索引了良好的应用。以引用的号码24538,它将被插入索引中的某个点。序列中的下一个数字将是24539,由于最高有效数字是相同的,因此将插入索引中非常接近第一个数字。扩展这一点,许多连续的数字都需要在相同的点上插入,包括扩展索引块和重新平衡索引的重大开销。

至少这些数字的显著数字比最显著更迅速地改变。因此,反转数字的顺序分别为8354293542。这两个数字将被插入到索引中,并且将其扩展到很多数字,索引将以更均衡的方式构建,从而减少索引管理的开销。

在计算术语中颠倒数字的操作并不重要,而管理索引可能会涉及到很多磁盘访问,因此以减少管理开销的方式将项插入索引中可以显着提高性能。