我的应用程序针对 sql server 数据库运行查询。
在许多情况下,我可以看到执行计划的好处:例如,我第一次单击按钮
SELECT * from Tasks
WHERE IdUser = 24 AND
DATE < '12/12/2010' and DATE > '01/01/2010'
第一次需要 15 秒,以后需要 8 秒。
编辑:我使用参数化查询。
所以我第二次提高了 7 秒。
现在,当我再次运行应用程序时(所以我进行了新的数据库连接),第一次需要 15 秒,第二次需要 7...
怎么可能告诉 SQL Server 存储执行计划,至少在同一天记住它们?或者,我怎样才能从已经计算好的执行计划中获益?如果不同的用户运行相同的查询,这是告诉 sql server 足够聪明以使用相同的执行计划的一种方式,即使在这种情况下 IdUser 可能会有所不同。
在软件中我有一些参数,所以可能下次执行查询会有不同的MinDate和MaxDate,但这会影响查询计划吗?