检查NULL或0

Inc*_*ito 7 sql t-sql database sql-server

SQL检查NULL或0的值的速度更快

我希望以最快的方式检查表中的值.

例如哪个更快:

IF ((SELECT ID FROM [SomeTable].[dbo].[BlockedSubscriberNumbers] 
     WHERE VALUE = @myVal) is null )
BEGIN
....
END
ELSE
BEGIN
....
END
Run Code Online (Sandbox Code Playgroud)

要么

IF ((SELECT COUNT(ID) FROM [SomeTable].[dbo].[BlockedSubscriberNumbers]
     WHERE VALUE = @myVal) > 0 )
BEGIN
....
END
ELSE
BEGIN
....
END
Run Code Online (Sandbox Code Playgroud)

在T-SQL中也扮演着频繁积累案例的角色.我的意思是它会更快,在大多数情况下它会失败到IF块,如果它将主要进入ELSE会更慢.

Joã*_*ira 2

检查 NULL 比检查 0 快得多,但我认为,对于这些查询,我们讨论的是不同的事情:它们产生不同的结果。