SQL Server-使用聚簇索引时如何存储数据页


13

我最近听说,聚集索引中的数据页不是连续存储的。这是真的?

也许数据页通常会连续存储,但规则会有一些例外?也许我听错了,数据页总是连续存储的。

非常感谢。


1
联机丛书提供了非常不错的图表,这些图表显示了页面的物理存储方式以及B树的布局方式。
mrdenny

Answers:


11

创建索引和重建索引时,数据页将连续存储。否则,SQL Server将尝试使页面保持物理顺序。不可能的是,尝试逻辑顺序。由于数据库中正在发生其他写操作,因此您可以在表中获得间隙。SQL Server使用B +树作为索引-索引的叶(数据)级别包含数据,但它也是一个双向链接列表,其中包含指向下一页和上一页的指针。这使得表在物理上100%连续不那么重要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.