sql:谁在存储过程IF中更有效... ELSE与否?

时间:2016-02-25 15:11:46

标签: sql sql-server stored-procedures sql-server-2008-r2

谁在存储过程中效率更高

IF ... ELSE更改where子句或添加条件以评估是否放置条件

实施例

SELECT *
FROM table
WHERE monto = 100 
    AND ( @canal IS NULL OR canal = @canal )

OR

IF @canal IS NULL
BEGIN
    SELECT *
    FROM table
    WHERE monto = 100
END
ELSE
BEGIN
    SELECT *
    FROM table
    WHERE monto = 100
        AND canal = @canal

个人认为,如果不是专家,我认为第一个例子是最好的选择,但我在sql中没有很多经验

或者可能存在另一种最佳解决方案。

请帮助我,因为我想优化存储过程

0 个答案:

没有答案