Настройка Fill Factor для уменьшения фрагментации

У меня есть некластеризованный индекс, который имеет ~1000 страниц, 95% фрагментации и FillFactor '0'.

Я восстановил индекс в воскресенье. Через неделю у индекса снова 95% (или около того) фрагментации. Является ли это показателем того, что мне нужно изменить FillFactor, чтобы сказать 80-90%?

Должен ли я настраивать коэффициент заполнения каждую неделю, чтобы посмотреть, смогу ли я уменьшить фрагментацию от недели к неделе? Есть ли целевой уровень для которого я стреляю?

Спасибо.

1 ответ

Решение

Я бы наверняка подстроил ваш коэффициент заполнения. Если он быстро фрагментируется, я предполагаю, что это индекс с высокой интенсивностью записи, который может существенно повысить производительность за счет коэффициента заполнения.

Однако определение оптимальных коэффициентов заполнения в значительной степени является методом проб и ошибок и является скорее искусством, чем наукой. Из советов по восстановлению индексов Брэда МакГи:

Итак, каков идеальный коэффициент заполнения? Это зависит от соотношения операций чтения и записи, которые ваше приложение выполняет с вашими таблицами SQL Server. Как правило, следуйте этим рекомендациям:

* Low Update Tables (100-1 read to write ratio): 100% fill factor
* High Update Tables (where writes exceed reads): 50%-70% fill factor
* Everything In-Between: 80%-90% fill factor.
Другие вопросы по тегам