今天创建视图的时候,sql语句为 select * from (select a from A union select b from B ) as C,但是查询1000条数据,居然花了45s的时间,于是查询了资料,资料显示:
UNION 因为会将各查询子集的记录做比较,故比起UNION ALL ,通常速度都会慢上许多。一般来说,如果使用UNION ALL能满足要求的话,务必使用UNION ALL。
而我的A表和B表不可能有重复数据,于是换成select * from (select a from A union all select b from B ) as C,时间缩短到 了1s以内,长见识了。以前只知道union和union all的用法
而不知道它们的使用,居然对sql的效率影响如此之大。
转载于:https://www.cnblogs.com/2019-Emily/p/10557140.html