Назад | Перейти на главную страницу

MSSQL-Server: перестроить или реорганизовать индекс и обновить статистику

У нас была очень медленная база данных (MS SQL SERVER). Теперь мы выяснили, что индексы никогда не перестраивались и не реорганизовывались. (На данный момент неясно, действительно ли это было проблемой, но сейчас мы хотим делать это часто.)

Но теперь вопрос: что лучше - перестроить индекс или лучше его реорганизовать? На данный момент у нас была фрагментация более 90%, поэтому я сделал перестройку. Но если я хочу делать это часто, фрагментация обычно будет ниже. Так что было бы разумнее реорганизовать его вместо того, чтобы перестраивать? И действительно ли вы действительно часто выполняете эту задачу на каждом сервере MS SQL без исключения? Имеет ли смысл на всех MS SQL-серверах?

И есть ли рекомендации, как часто должна выполняться эта задача? раз в неделю? раз в месяц?

Я также видел в блогах, что они делают также "статистику обновления" после перестройки / реорганизации. Это рекомендуется или чушь? (Я нашел оба в блогах. -> один сказал: да, сделай это -> другой: чушь!)

А какой у вас опыт? Эти задачи (восстановление / реорганизация / статистика) требуют большой производительности?

Много вопросов! Сожалею!

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

Для начала прочтите это:

Что сказал Сквиллман, но вы также можете подумать об использовании чего-то вроде Скрипты Олы Халленгрен, которые выполняют столько работы, сколько необходимо. Вы можете настроить степень фрагментации индекса перед его перестроением или реорганизацией, и это сократит объем работы, связанной с переиндексированием.

Но да. Это зависит от вашей среды, от типа нагрузки (в основном выбор, в основном вставка / обновление / удаление) и т. Д.