Pow*_*ser 2 sql sql-server sql-server-2008
我想清理始终使用Management Studio手动运行的SQL查询的结果.但我的if/then循环比单个元素花费的时间长得多.
目前,此Select语句立即运行(少于1秒)并且通常为空:
Select * from A join B on A.id=B.id
Run Code Online (Sandbox Code Playgroud)
如果没有结果,我想显示一条消息而不是空结果集(这是更大的多部分查询的一部分,因此清晰度会有所帮助).我改成了这个:
If (Select count(*) from A join B on A.id=B.id)>0
begin
Select * from A join B on A.id=B.id
end
else
Select 'No Results'
Run Code Online (Sandbox Code Playgroud)
因为那里的两个Select语句都在附近运行(我检查过),所以我希望整个代码段在相同的时间内运行.相反,它需要EIGHT秒.为什么这花了这么长时间,有一个简单的方法吗?
使用 if exists
If exists (Select * from A join B on A.id=B.id)
begin
Select * from A join B on A.id=B.id
end
else
Select 'No Results'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |