union和union all哪个效率高
对于这个问题.本人最近做的一个项目就亲切体会到…
我的项目的业务是一个综合查询,查询的是一个视图,但是这个视图又来源于另外一个视图,另外一个视图又来源于十几个表.关键来了,这十几个表都是用union关联起来的.
每次查询(分页)都大概需要20s甚至更多
经过一番分析操作才发现是这个union 造成的
union 会去重,由于原表数据量超大,distinct的效率是极低的(sql中不建议使用),而且连表数量比较多,这就导致了最后查询起来十分缓慢
换成union all 之后查询结果秒出,搞定!!!