我想编写一个查询,根据结果是否存在,简单返回1或0。
我考虑使用以下语句:
IF EXISTS(
select * from myTable
where id=7 and rowInsertDate BETWEEN '01/01/2009' AND GETDATE()
)
SELECT 1
ELSE
SELECT 0
这是一般的前提条件。
最终结果将是一个更复杂的查询,使用 sp_executesql 动态构造并执行,接受一个到多个参数和构建起来的字符串。
我的问题是,假设“计数”返回376986,并需要4秒钟才能计算完成。使用 IF EXISTS 是否会在找到满足条件的第一行时立即停止?
我正在决定是使用 IF EXISTS 还是仅查询 @@ROWCOUNT 并查看其是否大于零。
我尝试了一些测试,两者速度基本相同,但在2年后当有更多数据时,使用 IF EXISTS 是否可能会提高性能呢?
谢谢