Database 反向索引有什么意义?

Database 反向索引有什么意义?,database,distributed-computing,Database,Distributed Computing,我刚刚学习了反向索引。页面上说 在数据库管理系统中,反向键索引策略 在索引中输入键值之前的键值。例如,价值 24538变为指数中的83542。将键值反转为 特别适用于索引数据,如序列号,其中 每个新键值都大于先前的值,即 单调地增加。反向键索引变得尤为重要 在高容量事务处理系统中非常重要,因为它们 减少索引块的争用 为什么反转键值对索引序列号很有用?另外,为什么反向索引有助于减少高容量系统中索引块的争用?简而言之:反向索引有什么意义?在您的示例中,它指的是序列号是反向索引的良好应用程序。将引用的

我刚刚学习了反向索引。页面上说

在数据库管理系统中,反向键索引策略 在索引中输入键值之前的键值。例如,价值 24538变为指数中的83542。将键值反转为 特别适用于索引数据,如序列号,其中 每个新键值都大于先前的值,即 单调地增加。反向键索引变得尤为重要 在高容量事务处理系统中非常重要,因为它们 减少索引块的争用


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

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

这些数字中最低有效位的变化比最高有效位的变化更快。因此,颠倒数字顺序分别得到
83542
93542
。这两个数字将被插入到索引中相隔很远的地方,并扩展到许多数字,索引将以更平衡的方式构建,从而减少索引管理中的开销

从计算的角度来看,数字反转的操作是微不足道的,而管理索引可能会涉及许多磁盘访问,因此以减少管理开销的方式在索引中插入项可以显著提高性能。

“减少键值”不是本文所说的。减少的是索引中相同位置的争用量。对数字进行反转可以为实际单调递增的值提供有用的准随机分散性,这非常适合进入B树的数据。