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


13

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

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

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


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

Ответы:


11

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.