小编Kam*_*ami的帖子

T-SQL ISNULL中的Condition性能

我正在寻找意见,并可能找到以下具体答案.
此问题适用于SQL Server版本2008 R2 +

在存储过程中,我有一个DATE类型的可选查询参数,我们称之为@MyVar.

存储过程执行以下查询:

SELECT A, B, C
FROM MyTable
WHERE MyTable.Field1 = ISNULL(@MyVar,MyTable.Field1)
Run Code Online (Sandbox Code Playgroud)

如果@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
Run Code Online (Sandbox Code Playgroud)

谢谢!

sql t-sql sql-server

4
推荐指数
1
解决办法
1068
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1