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

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

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

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

Спасибо.


person Chris Burgess    schedule 16.02.2010    source источник


Ответы (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.
person womp    schedule 16.02.2010
comment
Gern — вы можете запросить sys.dm_db_index_usage_stats — в нем есть столбцы для user_seeks, user_scans и user_lookups, а также user_updates. Проверьте здесь аккуратный запрос, чтобы связать все это вместе в красивое соотношение: statisticsio.com/Home/tabid/36/articleType/ArticleView/ - person womp; 16.02.2010
comment
Для более полного объяснения плюсов и минусов коэффициента заполнения прочитайте статью Кендры Литтл по адресу brentozar.com/archive/2013/04/five-things-about-fillfactor — обратите особое внимание на ее рекомендацию, чтобы получить достойное решение для обслуживания индекса. - person Nigel Ainscoe; 23.07.2013