条件语句(如IF ... ELSE)如何影响 SQL Server(2005 及更高版本)中的查询执行计划?
条件语句是否会导致执行计划不佳,在考虑性能时是否需要注意任何形式的条件?
**编辑添加**:
我特指缓存的查询执行计划。例如,在下面的实例中缓存查询执行计划时,是否为条件的每个结果缓存了两个执行计划?
DECLARE @condition BIT
IF @condition = 1
BEGIN
SELECT * from ...
END
ELSE
BEGIN
SELECT * from ..
END