2005 SQL Server - Как часто необходимо восстановить Индексы?

Только для создания более всестороннего ответа способ C выполнить итерации по строке может применяться в Python, если Вы действительно хотите вызвать квадратный штепсель в круглую дыру.

i = 0
while i < len(str):
    print str[i]
    i += 1

, Но с другой стороны, почему делают это, когда строки по сути повторяемы?

for i in str:
    print i
7
задан Jack Marchetti 25 August 2009 в 21:53
поделиться

4 ответа

Ваши взаимоблокировки определенно могут быть связаны с перестроением индексов. Нет никаких сомнений в том, что эти индексы не нужно так часто перестраивать. Как минимум, вам следует рассмотреть возможность использования опции ONLINE, если вы можете предотвратить удаление индекса до его восстановления.

Вот рекомендации, которые мы используем:

Индекс должен быть перестроен при индексировании фрагментация более 40%. Индекс следует реорганизовать, когда индекс фрагментация составляет от 10% до 40%. Процесс восстановления индекса использует больше ЦП и он блокирует ресурсы базы данных. Версия для разработки SQL Server и Версия Enterprise имеет опцию ONLINE, который можно включить, когда Index перестроен. ONLINE опция сохранит индекс доступны во время восстановления.

Источник: http://blog.sqlauthority.com/2007/12/22/sql-server-difference-between-index-rebuild-and-index-reorganize-explained-with -t-sql-script /

11
ответ дан 6 December 2019 в 09:20
поделиться

Хорошее практическое правило: ВОССТАНОВИТЬ, если более 30% фрагментировано, ПЕРЕСТРОИТЬ, если между 10% и 30%.

Не беспокойтесь ни о том, ни о другом для таблиц менее 1000 страниц, вы не заметите, и даже после запуска REBUILD для базы данных, которая превышает 30%, часто остается 30%.

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

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

Таким образом, 8 раз в день действительно кажутся чрезмерными.

Ссылки:
http://technet.microsoft.com/en-us/library/ms189858.aspx
http://www.sqlmusings.com/2009/03/15/a-more- эффективная-выборочная-перестройка-индекс-реорганизация-стратегия /
http://realworlddba.wordpress.com/2008/01/27/indexes-to-rebuild-or-reorganize/
http: //realworlddba.wordpress. com / 2008/01/27 / indexes-to-rebuild-or-reorganize /

6
ответ дан 6 December 2019 в 09:20
поделиться

Захватите график взаимоблокировок, и вы получите фактический ответ о том, что является взаимоблокировкой, в отличие от предположения . Учитывая, что взаимоблокировки являются (или, по крайней мере, должны быть) довольно редким явлением (менее 10 в секунду), вы можете довольно безопасно подключить профилировщик в течение длительного времени и захватить только График блокировок / взаимоблокировок событие.

3
ответ дан 6 December 2019 в 09:20
поделиться

Вредит ли перестройка стабильности системы или занимает слишком много системного времени?

Если вы отвечаете «нет» - не трогайте это :)

0
ответ дан 6 December 2019 в 09:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: