Таинственные таймауты в MSSQL 2000
У меня есть запрос, который работал отлично в течение многих лет (2+ года).
Внезапно это заняло от 3 секунд до 30+, чтобы выполнить. Индексы таблиц имеют минимальную фрагментацию, но перестройка индексов "исправляет" это примерно за день.
Когда я иду, чтобы проверить фрагментацию, это около 0,5 (неплохо). Таблица видит только около 100 вставок и еще 100 обновлений в день.
Когда это происходит, на столе нет замков. Есть идеи что проверить?
3 ответа
Это, вероятно, сниффинг параметров (поиск StackOverflow).
Перестройка индекса неявно перестраивает статистику индекса, что делает недействительным кэшированный план, который "исправляет" его.
Как выглядит план выполнения, когда он в порядке, и когда он работает неправильно?
Вы перестраиваете индексы или дефрагментируете индексы? Насколько большой стол? Когда вы в последний раз обновляли статистику на столе?
Проверьте, не устарела ли ваша статистика, и обновите ее соответствующим образом.