私は意見を探しており、おそらく以下に具体的な答えがあります。
この質問は、ストアドプロシージャでは、SQL Serverのバージョン2008 R2 +T-SQL ISNULLここで条件のパフォーマンス
に適用され、私はDATE型のオプションのクエリパラメータを持って、それを@myvar呼び出すことができます。
SELECT A, B, C
FROM MyTable
WHERE MyTable.Field1 = ISNULL(@MyVar,MyTable.Field1)
@myvarがNULLである場合ISNULL(@のMyVar、MyTable.Field1)を行うためのコストはどのようなものです:
ストアドプロシージャは、次のクエリを実行しますか?
IF (@MyVar IS NULL)
SELECT A, B, C
FROM MyTable
ELSE
SELECT A, B, C
FROM MyTable
WHERE MyTable.Field1 = @MyVar
ありがとう:それはのような例を分割した方が良いかどう 私は疑問に思って!
インデックスされた。 –
最後に 'WHERE MyTable.Field1 = @ MyVar'を意味します。 – jarlh
@MarcBなぜそれがインデックスの使用を妨げるのかわかりません – Lamak