SQLチューニング 関数は事前に呼び出すべし

ストアドプロシージャを修正しました。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'
--以下、省略。