Как коэффициент заполнения 0 или 100 может быть одинаковым?

8

Насколько я понимаю, коэффициент заполнения 80 подразумевает, что 20 процентов каждой страницы конечного уровня будут пустыми, чтобы обеспечить дальнейший рост. Я не могу соотнести, как коэффициент заполнения 0 и 100 может быть одинаковым! Я что-то пропустил?

шубха
источник

Ответы:

15

Это наследие от SQL Server 2000

0 и 100 были разные тогда

  • 100 означает «заполнить все страницы, включая все уровни индекса b-дерева»
  • 0 означало «оставить место на более высоких уровнях в индексе b-дерева»

Начиная с SQL Server 2005, оба означают «заполнить все страницы, включая все уровни индекса b-дерева»

Цитаты из BOL (мой жирный)

SQL Server 2000 :

Значение коэффициента заполнения 0 не означает, что страницы заполнены на 0 процентов. Он обрабатывается аналогично значению коэффициента заполнения 100, поскольку SQL Server создает кластеризованные индексы с полными страницами данных и некластеризованные индексы с полными конечными страницами. Он отличается от 100 тем, что SQL Server оставляет некоторое пространство на верхнем уровне дерева индексов.

SQL Server 2005

Коэффициент заполнения 0 или 100 создает кластеризованные индексы с полными страницами данных и некластеризованные индексы с полными конечными страницами, но оставляет некоторое пространство внутри верхнего уровня дерева индексов. Значения коэффициента заполнения 0 и 100 идентичны во всех отношениях.

Что я не могу найти, так это явно показать это в «изменениях поведения»

ГБН
источник
Мой недавний поиск показал, что «коэффициент заполнения мифами 0 и 100 никогда не бывает одинаковым» ...
Субха
@Subha вы можете поделиться ссылкой?
Аарон Бертран
@Subha: Вы имеете в виду это? sqlskills.com/blogs/paul/…
Гбн
@AaronBertrand: sqlskills.com/blogs/paul/...
Шубх
@ gbn: да это ...
Субха