Действительно странная проблема с табличной функцией - PullRequest
0 голосов
/ 04 ноября 2010

Я получал несколько тайм-аутов в своем приложении, когда пытался вызвать определенную хранимую процедуру.Я выделил его для определенного sproc и обнаружил, что когда я вызываю табличную функцию в этом sproc с параметром, он запускается вечно.Но если я передам определенное значение (например, 804), оно вернется быстро.

Если я запускаю его сам по себе с параметром, он работает нормально, но когда я добавляю его обратно в запрос с параметром, он запускается навсегда .... затем меняем параметр со статическим значением и он запускаетсябыстро?

Шаги, которые я предпринял:

  1. Отбросил процедуру и создал заново.
  2. Выполнен DBCC FREEPROCCACHE на всех планах, содержащих похожую строку запроса.
  3. Просто тестовая база данных, поэтому я восстановил базу данных с помощью резервной копии прошлой ночью.

Еще один момент, на который следует обратить внимание.На другой БД на том же сервере ... примерно с тем же объемом данных он работает нормально ... очень странно.

Что я пропускаю?Я действительно не понимаю.

1 Ответ

1 голос
/ 04 ноября 2010

Параметр сниффинг ?

Извините за краткий ответ, но стоит прочитать несколько ответов ...

От меня тоже раньше

...