我想知道
之间的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的没有空值。
我无法找到答案,所以我希望任何人都可以为我解决这个问题。提前谢谢。
答案 0 :(得分:1)
第一个是正确的。第二个代码段中if exists
和update
语句中的where条件相同:from dbo.table t where t.x is null
因此,如果找不到x的空值,我不会指望任何明显的速度差异。