众所周知,当创建聚集索引时,索引键数据存储在B树结构中。B树的底层是叶子节点,其中包含表的实际数据行,并且所有叶节点都指向 下一个和上一个叶子节点。我想知道使用双链表连接叶子节点的目的。 如果您能回答我的问题,我将不胜感激
最佳答案
I want to know the purpose of using double linked list to connect leaf nodes.
这是在进行范围查询时获取向前或向后排序的数据的有效方法。
例如:
select ID
from YourTable
where ID between 10 and 20
order by ID desc
通过 ID 上的索引,上述查询可以在 20
上进行索引查找,并将索引向后扫描到 ID = 10
,返回找到的所有行。
关于sql-server - 为什么聚集索引中叶子节点相互连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26959163/