应用报错,临时表空间已满,跑数据中断。
查看了什么sql语句引起的,发现
select count(1)*********union***;
遍历了两个千万级别的表,占了5G左右的临时表空间,把union 换成union all后,这条语句的花费减小了几十倍。
那么union和union all有什么区别呢?
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
union消耗的资源比union all多很多,因为,需要去掉重复行,还需要排序。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。