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

Загадочные таймауты в MSSQL 2000

У меня есть запрос, который отлично работает уже много лет (2+ года).

Внезапно его выполнение увеличилось с 3 секунд до 30+. Индексы таблиц имеют минимальную фрагментацию, но перестройка индексов «исправляет» ее примерно на сутки.

Когда я иду проверить фрагментацию, она составляет около 0,5 (неплохо). Таблица видит только около 100 вставок и еще 100 обновлений в день.

Когда это происходит, на столе нет замков. Есть идеи, что проверить?

Проверьте, не устарела ли ваша статистика, и обновите ее соответствующим образом.

Это, вероятно анализ параметров (поиск в StackOverflow).

Перестроение индекса неявно перестраивает статистику индекса, что делает недействительным кэшированный план, который «исправляет» его.

Как выглядит план выполнения, когда он в порядке, и когда он работает неправильно?

Вы перестраиваете индексы или дефрагментируете индексы? Насколько велик стол? Когда вы в последний раз обновляли статистику в таблице?