Мои приложения запускают запросы к базе данных сервера sql.
Во многих случаях я вижу преимущество плана выполнения: например, я впервые нажимаю кнопку на
SELECT * from Tasks
WHERE IdUser = 24 AND
DATE < '12/12/2010' and DATE > '01/01/2010'
это занимает 15 секунд в первый раз, 8 секунд - в следующий раз.
РЕДАКТИРОВАТЬ: Я ИСПОЛЬЗУЮ ПАРАМЕТРИРОВАННЫЕ ЗАПРОСЫ.
Таким образом, у меня есть улучшение на 7 секундво второй раз.
Теперь, когда я снова запускаю приложение (поэтому устанавливаю новое соединение с базой данных), первый раз это займет 15 секунд, второй раз 7 ...
Как этоМожно ли заставить SQL Server хранить планы выполнения, хотя бы запомнить их на те же дни?Или, однако, как я могу получить выгоду от уже рассчитанных планов выполнения?Если разные пользователи выполняют один и тот же запрос, это способ сообщить серверу sql, что он достаточно умен, чтобы использовать один и тот же план выполнения, даже если в этом случае, вероятно, IdUser будет другим.Может быть, следующее выполнение запроса будет иметь разные значения MinDate и MaxDate, но повлияет ли это на план запроса?