在工作中有时候会用到union all来进行合并,但如果用到union all的个数大于2的时候,效率就会变低。此时可以用insert into 的方法将原来的sql拆成多个,实测效率可以提升50%。
代码示例:
--用union all
insert overwtite table xxxx
select a, b, c from table1
union all
select d, e, f from table2
union all
select h, i, j from table3
--替换成insert into
drop table if exists table xxxx;
insert into table xxxx
select a, b, c from table1;
insert into table xxxx
select d, e, f from table2;
insert into table xxxx
select h, i, j from table3;