关于SQL优化 请大家给点意见
第一种写法
select f1, f2 from (
select f1, f2 from table1
union all
select f1, f2 from table 2) as ff where f1 = 'fff'
第二种写法
select f1, f2 from table1 where f1 = 'fff'
union all
select f1, f2 from table2 where f1 = 'fff'
如果我在table1,table2上面都建立了f1的索引。那么我用第一种写法这个索引是否会起作用?
第一种和第二种写法那个效率快?
[解决办法]
查看执行计划不就行了?
db2 explain plan with snapshot for query
db2exfmt
[解决办法]
or
or
db2 set current explain mode yes
db2 set current explain snapshot yes
run the query
db2exfmt
[解决办法]
两种写法一样。 最终都会被优化为
select f1, f2 from table1 where f1 = 'fff'
union all
select f1, f2 from table2 where f1 = 'fff'