Идентификационные данные SQL Server и последовательные GUIDS - будут многократно использовать файлы страниц со значением id - PullRequest
0 голосов
/ 02 мая 2011

Если я использую либо идентификаторы , либо последовательные направляющие , и они имеют первичные ключи и содержат, например, 100 000 строк, а затем удаляют одну из строк и вставьте новую строку с тем же значением Id , что и для удаленной строки, тогда, я думаю, я испорчу "производительность", если не получу ключей , упорядоченных правильно в страница-файлы . Это правильно? Если есть способ «освежить». например запустив DBCC DBREINDEX и / или UPDATE STATISTICS?

Ответы [ 2 ]

3 голосов
/ 02 мая 2011

Нет. Ключи всегда хранятся в порядке, и никакие операции не могут помешать порядку ключей.

То, что вы, вероятно, слышали, это фрагментация индекса, процесс расхождения между логическим порядком и физическим порядком индекса. Определенные шаблоны операций приводят к большей фрагментации, но удаление ключа и вставка одной и той же строки назад с тем же ключом - не такой шаблон. Фрагментация может быть устранена путем реорганизации индекса (ALTER INDEX ... REORGANIZE) или перестройки индекса (ALTER INDEX ... REBUILD), см. Реорганизация и перестройка индексов . Как правило, все, что вы читаете о плохой фрагментации индекса, сильно преувеличено.

Обновление статистики не имеет ничего общего ни с порядком ключей, ни с фрагментацией. Устаревшая статистика имеет другие причины и приводит к другим проблемам (плохие оценки мощности), см. Использование статистики для улучшения производительности запросов .

0 голосов
/ 02 мая 2011

Вы можете найти пост Пола Рэндала полезным.

Не совсем понятно, что вы подразумеваете под "файлами подкачки".

...