哪个性能最好?

时间:2014-11-21 05:27:19

标签: sql sql-server performance tsql

请仔细阅读以下问题,并帮助我了解哪一个有效,以及如何?

在逻辑查询执行中,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

提前致谢

2 个答案:

答案 0 :(得分:0)

我不了解SQL,
但是我的建议是:

Less code + Less lines + Less words always gives better performance
, 该规则适用于每种语言。

答案 1 :(得分:-1)

select a.*, b.* 
from table1 a 
join table2 b on a.colA = b.colA and a.ColB = 'Somevalue'