在选择1中是否有任何区别,从中选择0或从中选择任何整数?
我知道select * from是一项昂贵的操作。
然而,选择1来自于选择0来自和<或选择29来自?
在仅检查表/存储过程是否存在且是否存在的情况下,删除它并重新创建(在这些场景中)
答案 0 :(得分:6)
你的表现会完全相同。使用exists时,SQL Server不会评估语句的SELECT部分中的任何内容。它只是解析为布尔值。这可以通过1除以0来证明。通常这会引发错误,但在EXISTS中,它运行时没有错误。
关于您的具体用途,EXISTS检查中的费用几乎为零。如果遇到性能问题,则不是脚本的EXISTS部分。
示例:
IF EXISTS(SELECT 1/0 FROM <TABLE> WHERE 1=1) BEGIN SELECT 'In the exists' END