私が呼び出すストアドプロシージャがあります
Int32 siteID = 1;
DateTime startDate date;
DateTime endDate date;
var result = this.datacontext.GetSummary(siteID, startDate, endDate);
これは linq では非常に遅く実行されますが、SSMS では非常に高速です。
開始日のみを受け入れるように SP を変更し、SP で endDate を作成する場合:
DECLARE @EndDate date
SET @EndDate = DATEADD(yy,1,@StartDate)
そして、以下のように実行します。
var result = this.datacontext.GetSummary(siteID, startDate);
クエリは再び非常に高速です。EndDate となる正確な値を渡しています。
誰もこのようなものを見たことがありますか。終了日が渡されないクエリは、0 秒で実行されます。終了日で6分かかります。
どんな提案でも大歓迎です。