Таинственные таймауты в MSSQL 2000

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

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

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

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

3 ответа

Решение

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

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

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

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

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

Другие вопросы по тегам