我刚学会了反向索引。 wikipedia页面说明了
在数据库管理系统中,反向键索引策略会反转 在索引中输入之前的关键值。1例如,值 24538在索引中变为83542。反转键值是 特别适用于索引数据,如序列号,其中 每个新密钥值大于先前值,即值 单调增加。反向键索引变得特别 在大批量交易处理系统中很重要,因为它们 减少索引块的争用。
为什么反转键值对索引序列号有用?另外,为什么反向索引有助于减少高容量系统中索引块的争用?简而言之:反向索引的重点是什么?
答案 0 :(得分:11)
在您的示例中,它指的是序列号是反向索引的良好应用程序。取引号24538
,它将在某个点插入索引中。序列中的下一个数字将是24539
,它将插入非常接近第一个数字的索引中,因为最高有效数字是相同的。扩展这一点,许多序列号都需要在同一点插入,这涉及到扩展索引块和重新平衡索引的重大开销。
这些数字的最低位数变化比最重要的数字更快。因此,反转数字的顺序分别给出83542
和93542
。这两个数字将被分开插入到索引中,并将其扩展为多个数字,索引将以更加平衡的方式构建,从而减少索引管理的开销。
在计算术语中反转数字的操作很简单,而管理索引可能涉及许多磁盘访问,因此以减少管理开销的方式在索引中插入项目可以显着提高性能。