条件ステートメント( IF ... ELSEなど)は、SQL Server(2005以降)のクエリ実行プランにどのように影響しますか?
条件文は実行計画の質を低下させる可能性がありますか?また、パフォーマンスを検討する際に注意する必要のある条件文の形式はありますか?
**追加するために編集**:
具体的には、キャッシュされたクエリ実行プランについて言及しています。たとえば、以下のインスタンスでクエリ実行プランをキャッシュする場合、条件付きの結果ごとに2つの実行プランがキャッシュされますか?
DECLARE @condition BIT
IF @condition = 1
BEGIN
SELECT * from ...
END
ELSE
BEGIN
SELECT * from ..
END