哪一个性能更好
IF EXISTS(Select null from table)
或者
IF EXISTS(Select 1 from table)
?
两者执行相同,因为从不评估EXISTS中的SELECT子句。您可以使用以下方法进行测试:
... EXISTS(SELECT 1/0 FROM TABLE)
那应该触发除以零的错误,但是不会。
我个人更喜欢使用NULL,因为很明显表中没有引用任何东西,因此其他人更容易看到。选择一个值,例如第二个示例中的INT数字1,如果不熟悉EXISTS子句,可能会导致对所发生情况的假设。