更新的性能与if存在然后更新

时间:2017-03-31 06:39:45

标签: sql performance tsql

我想知道

之间的sql是否存在性能差异
update dbo.table
set x = 1
where x is null

if exists (select 1
           from dbo.table t
           where t.x is null)
begin
    update dbo.table
    set x = 1
    where x is null
end

如果找到x的没有空值。

我无法找到答案,所以我希望任何人都可以为我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

第一个是正确的。第二个代码段中if existsupdate语句中的where条件相同:from dbo.table t where t.x is null因此,如果找不到x的空值,我不会指望任何明显的速度差异。