【发布时间】:2014-12-04 18:35:40
【问题描述】:
我只是想知道哪个 Join 会更快。
一般情况下,表 A 的 2 个键列连接到表 B 的 2 个键列,都被索引。
基于百万行级别的两个表。
应该是这样的:
select *
from A
left join B
on A.key1=B.key1
and A.key2=B.key2
..............
..............
但是如果我想要 key2 的特定键值,key2='AA' 会更快:
A 计划:
select *
from A
left join B
on A.key1=B.key1
and A.key2=B.key2
where A.key2='AA'
B计划:
select *
from A
left join B
on A.key1=B.key1
where A.key2='AA' and B.key2='AA'
谢谢
【问题讨论】:
-
你为什么不检查一下执行计划......?话虽如此,我认为它们都是一样的。
-
选择查看执行计划
标签: sql sql-server join left-join