请仔细阅读以下问题,并帮助我了解哪一个有效,以及如何?
在逻辑查询执行中,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
提前致谢
答案 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'