2009-08-12 3 views
0

У меня простая маленькая таблица (всего 8 полей) час назад я перестроил один из индексов на столе, который сбросил его до 0% фрагментации, но теперь это до 38%.Почему мой индекс становится фрагментированным?

В самой таблице есть записи 400 тыс., Но только 158 новых были вставлены с тех пор, как я перестроил индекс, не было никаких обновлений для записей, но, возможно, несколько удалений.

Почему индекс должен быть настолько фрагментированным?

Указатель не является уникальным, некластеризованным только на одном поле.

База данных работает на SQL Server 2005, но с уровнем совместимости SQL Server 2000.

Благодарности

ответ

3

Проверьте коэффициент заполнения для этого индекса, когда он вновь построен. Коэффициент заполнения может быть слишком высоким. Если это так, страницы индекса будут слишком заполнены, когда индекс будет перестроен, и добавление новых строк вскоре начнет вызывать разбиение страниц (фрагментация). Уменьшение коэффициента заполнения при перестройке позволит добавлять новые вложения на индексные страницы до того, как начнется разбиение на страницы.

http://msdn.microsoft.com/en-us/library/aa933139%28SQL.80%29.aspx

+0

Спасибо за ваш ответ. Когда я перестроил индекс, я установил коэффициент заполнения равным нулю, что и установлено в sys.indexes?!? –

+0

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

2

коэффициент заполнения 0 равен 100, так что вы не позволяете места для вставки. Вы должны выбрать более низкий коэффициент заполнения, если будете вставлять.

+0

Уменьшение коэффициента заполнения помещает пробел между строками индекса на странице, но будут ли новые строки таблицы приводить к появлению новых строк индекса, входящих в эти пробелы или добавленных в конце? –

+0

Он заполняет промежутки. Если коэффициент заполнения равен 100, страницы полностью заполняются и нет места для вновь вставленных строк. Поэтому эти строки попадают на новые страницы (a.k.a.). – NYSystemsAnalyst