SQL Server - как страницы данных хранятся при использовании кластерного индекса

13

Недавно я слышал, что страницы данных в кластерном индексе не хранятся непрерывно. Это правда?

Возможно, страницы данных обычно хранятся смежно с некоторыми исключениями из правила? Или, возможно, я услышал неправильно, и страница данных всегда хранится смежно.

Большое спасибо.

арахис
источник
1
Books Online предлагает довольно хорошие диаграммы, которые показывают, как физически хранятся страницы и как устроено дерево B.
Мрденный

Ответы:

11

Страницы данных хранятся непрерывно при создании индекса и при перестроении индекса. В противном случае SQL Server попытается сохранить страницы в физическом порядке. Это невозможно, попытка логического порядка. Вы можете получить пробелы в таблице из-за других записей, которые происходят в базе данных. SQL Server использует B + деревья для индексов - уровень листа (данных) индекса содержит данные, но также является двусвязным списком, который содержит указатели на следующую и предыдущую страницы. Это делает менее важным, чтобы таблица была на 100% физически смежной.

Иеремия Пешка
источник