【问题标题】:which gives best performance?哪个性能最好?
【发布时间】: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

提前致谢

【问题讨论】:

标签: sql sql-server performance tsql


【解决方案1】:
select a.*, b.* 
from table1 a 
join table2 b on a.colA = b.colA and a.ColB = 'Somevalue'

【讨论】:

    【解决方案2】:

    我不知道 SQL,
    但我的建议是: <pre>Less code + Less lines + Less words always gives better performance</pre>, 此规则适用于所有语言。

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 2010-11-16
      • 2012-10-02
      • 2011-08-28
      相关资源
      最近更新 更多