Различное время выполнения запроса из разных соединений
От: /Forester/ Россия http://www.akteam.ru
Дата: 17.06.15 10:52
Оценка:
Добрый день, коллеги!

Я в СУБД не силен. Направьте, плз, в какую сторону копать.

Есть ASP.NET приложение, есть MS SQL Server 2008 R2 (10.50.2550). Приложение дергает хранимку, но запрос отваливается по таймауту (2-е минуты). Запускаю ту же хранимку с теми же параметрами из SSMS (SQL Server Management Studio) под той же учеткой, что и приложение, — выполняется в нормальное время (10 секунд). От чего такое может быть? Параметры соединений разные скорее всего, но какой параметр может так влиять?

Сама хранимка формирует SQL-запрос и выполняет его через sp_executesql. В запросе происходит выборка во временную таблицу и последующий анализ содержимого этой временной таблицы. Запросы в обоих случаях формируются идентичные, смотрел профайлером.

Пока вставлял вывод отладочных сообщений в хранимку, проблема исчезла. Время выполнения стало одинаковым. Я так понимаю, что хранимка перекомпилировалась, и где-то что-то сбросилось. Что такое могло сбросится? Что там такое накопилось, что это повлияло на время работы? Что можно сделать, чтобы эта ситуация не повторялась?

Понимаю, что вопросы у меня сильно общие. Дайте хоть направление, куда смотреть...

Заранее благодарю!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.