【发布时间】:2015-01-19 04:54:21
【问题描述】:
请通过以下查询,并帮助我了解哪个有效以及如何?
在逻辑查询执行中,where子句将在join完成后执行,所以我认为查询2会获得性能优势。那正确吗?
查询 1:
select a.*, b.*
from table1 a
join table2 b on a.colA = b.colA
where a.ColB = 'Somevalue'
查询 2:
select a.*, b.*
from
(select *
from table1
where ColB = 'Somevalue' ) a
join table2 b on a.colA = b.colA
提前致谢
【问题讨论】:
-
如果您有两匹马并且您想知道这两匹马中哪一匹更快,那么赛马 - 请参阅 Eric 的 Which is faster? Lippert 了解更多背景
标签: sql sql-server performance tsql