私のアプリケーションは、SQL Server データベースに対してクエリを実行します。
多くの場合、実行計画のメリットを実感できます。たとえば、ボタンを初めてクリックすると、
SELECT * from Tasks
WHERE IdUser = 24 AND
DATE < '12/12/2010' and DATE > '01/01/2010'
最初は 15 秒、次は 8 秒かかります。
編集: パラメータ化されたクエリを使用します。
したがって、2回目で7秒の改善があります。
ここで、アプリケーションを再度実行すると (新しいデータベース接続を行うため)、最初は 15 秒、2 回目は 7 秒かかります...
少なくとも同じ日の実行計画を記憶するために、SQL Server に実行計画を保存するように指示するにはどうすればよいでしょうか? または、すでに計算された実行計画の利点を得るにはどうすればよいですか? 異なるユーザーが同じクエリを実行する場合、おそらく IdUser が異なる場合でも、同じ実行プランを使用するのに十分なほどスマートであることを SQL Server に伝える方法です。
ソフトウェアにはいくつかのパラメーターがあるため、次のクエリの実行では MinDate と MaxDate が異なる可能性がありますが、これはクエリ プランに影響しますか?