ストアドプロシージャを修正しました。SQLチューニングってヤツですね。
通常のプログラミングと同様に、あらかじめ関数を呼び出して、変数に代入しておくとその後の処理が早くなりました。今までは、その都度関数を呼び出していたので、効率が悪かったみたい・・・。関数だと、変数のごとく使えるので、つい油断してしまいしまた。
CREATE PROC ShireKanri @Date AS Datetime AS /* デバッグ用のコード DECLARE @Date AS DATETIME SET @Date = '2009/4/3' --GETDATE() */ --事前に関数を呼び出す DECLARE @FirstDay AS DATETIME DECLARE @LastDay AS DATETIME --月初の日付を取得する関数 SET @FirstDay = dbo.FirstDay(@Date) --月末の日付を取得する関数 SET @LastDay = dbo.LastDay(@Date) SELECT * FROM M_Car WHERE Date >= @FirstDay AND Date <= @LastDay AND OfficeNo = '1' --以下、省略。