Почему коэффициент заполнения в SQL Server по умолчанию равен 0 (100%)?

9

Я понимаю коэффициент заполнения, страницы и структуру индекса и поэтому понимаю, почему 100% -ый коэффициент заполнения - это редкая лучшая практика. Так почему по умолчанию он равен 0 (или 100%) по умолчанию? Почему не 90 или 95?

Я что-то упускаю?

NTDLS
источник

Ответы:

8

Просто добавьте несколько предложений о том, почему Microsoft сделает это:

  1. Они настроили свои настройки по умолчанию на максимально возможную производительность OLAP (меньше операций чтения страниц с коэффициентом заполнения 0/100)
  2. Они предполагают, что INSERTредактируемые данные, скорее всего, будут в конце таблицы, что делает ненужным дополнительное пространство на странице
  3. Они предполагают, что обычно UPDATEd данные не очень часто удлиняют данные строк, вызывая разделение страниц.

Это просто гадание здесь. Единственные люди, которые действительно могут точно ответить на этот вопрос, - это команда разработчиков SQL Server.

Томас Стрингер
источник
5
Правильно, это кажется разумной теорией, и гораздо более вероятно, что она подойдет для типичного потребителя, чем выбор какого-то произвольного коэффициента заполнения, когда во многих случаях вы гарантированно потеряете место на странице.
Аарон Бертран
Я не могу поверить, что получил ответ, с которым я могу согласиться. Я не ожидал, что найдется разумный ответ, но ваши пункты № 2 и № 3 очень разумны. Спасибо!
NTDLS
@NTDLS нет проблем, рад помочь.
Томас Стрингер