Я получал несколько тайм-аутов в своем приложении, когда пытался вызвать определенную хранимую процедуру.Я выделил его для определенного sproc и обнаружил, что когда я вызываю табличную функцию в этом sproc с параметром, он запускается вечно.Но если я передам определенное значение (например, 804), оно вернется быстро.
Если я запускаю его сам по себе с параметром, он работает нормально, но когда я добавляю его обратно в запрос с параметром, он запускается навсегда .... затем меняем параметр со статическим значением и он запускаетсябыстро?
Шаги, которые я предпринял:
- Отбросил процедуру и создал заново.
- Выполнен
DBCC FREEPROCCACHE
на всех планах, содержащих похожую строку запроса. - Просто тестовая база данных, поэтому я восстановил базу данных с помощью резервной копии прошлой ночью.
Еще один момент, на который следует обратить внимание.На другой БД на том же сервере ... примерно с тем же объемом данных он работает нормально ... очень странно.
Что я пропускаю?Я действительно не понимаю.