首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查SQL查询是否返回结果的有效方法

检查SQL查询是否返回结果的有效方法
EN

Stack Overflow用户
提问于 2009-11-10 23:31:00
回答 8查看 34.8K关注 0票数 23

我想写一个简单返回1或0的查询,这取决于是否有结果。

我在考虑用这个

代码语言:javascript
运行
复制
IF EXISTS(
      select * from myTable 
      where id=7 and rowInsertDate BETWEEN '01/01/2009' AND GETDATE()
)
SELECT 1
ELSE
SELECT 0

这是一般的前提。

最终的结果实际上将是一个复杂得多的查询,它采用一对多的参数以及使用sp_executesql构建和执行的字符串

我的问题是,假设'count‘将返回376986,并且需要4秒来计算。使用IF EXISTS将在找到满足条件的一行时立即停止。

我正在决定是使用IF EXISTS,还是只查询@@ROWCOUNT,看看它是否大于零。

我确实尝试了一些测试,两者的运行速度几乎相同,但在两年的时间里,当有更多的数据时,它是否可能使用EXISTS来提高性能?

谢谢

EN

Stack Overflow用户

发布于 2009-11-10 23:39:21

这是我能在我的项目中获得的最快速度:

代码语言:javascript
运行
复制
SELECT CASE WHEN EXISTS (
  select top 1 1 
  from myTable 
  where id=7 
  and rowInsertDate BETWEEN '01/01/2009' AND GETDATE()
) THEN 1 ELSE 0 END AS AnyData
票数 10
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1708815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档