这两条SQL查询哪条的效率高?

dxgxk 2008-07-15 01:46:24
先union all 后查询和 先查询后 union all 哪个效率高?

1:

select * from 表1 where 编号=100
union all
select * from 表2 where 编号=100

2:
select * from
(select * from 表1
union all
select * from 表2 )t where 编号=100

其中表2的数据很多。
...全文
105 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hery2002 2008-07-15
  • 打赏
  • 举报
回复
执行计划上看,
貌似一致的.
wzy_love_sly 2008-07-15
  • 打赏
  • 举报
回复

不告诉你了吗?
dxgxk 2008-07-15
  • 打赏
  • 举报
回复
欢迎讨论
dxgxk 2008-07-15
  • 打赏
  • 举报
回复
第二种 会对全表扫描么?????

我感觉应该效率是一样的。。。
M1CR0S0FT 2008-07-15
  • 打赏
  • 举报
回复
不一定,但至少第2种写法肯定是要对T1,T2表进行全表扫描,第一种不一定因为你加了过滤条件就不会全表扫描。
aj988 2008-07-15
  • 打赏
  • 举报
回复
肯定是第一个
中国风 2008-07-15
  • 打赏
  • 举报
回复
選中—兩個語句查看—CTRL+L(執行計劃)
areswang 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Leedsema 的回复:]
一样的
[/Quote]
wzy_love_sly 2008-07-15
  • 打赏
  • 举报
回复
完全相同地 接分
「已注销」 2008-07-15
  • 打赏
  • 举报
回复
一样的
wzy_love_sly 2008-07-15
  • 打赏
  • 举报
回复
sf

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧