news 2026/5/27 12:16:07

union 和 union all的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
union 和 union all的区别

1、union和union all

UNION对两个结果集进行并集操作,不包括重复行,相当于使用distinct关键字。而UNION ALL则对两个结果集进行并集操作,包括重复行,即所有结果全部显示,不管是否重复。
UNION操作会去除重复的记录,只返回唯一的记录。而UNION ALL操作则不会去除重复记录,会直接连接所有的值。
UNION操作会按照字段的顺序进行排序,而UNION ALL操作则不会对结果进行排序。因此我们在项目中能用union all的就使用union all,避免union排序去重增加性能。

2、 问题语句

selectcount(*)from(select t1.* from test t1,(select distinct c1 from test1)t2 where t1.c2=t2.c1 union select t1.* from test t1 where t1.c2 is null)tt;

计划:

这个语句实际上并不需要用到union,因为t1.c2=t2.c1这一个条件排除了t1.c2 为空值的情况,而t2中先对c1去重(distinct)也避免了产生重复值,最后求的是t1.*包含了表的主键,主键具有唯一性,因此原本逻辑上不会产生重复值,这样就不用使用union 对结果集去重了。因此可以改写成union all

3、改写

selectcount(*)from(select t1.* from test t1,(select distinct c1 from test1)t2 where t1.c2=t2.c1 union all select t1.* from test t1 where t1.c2 is null)tt

计划:

语句从原来的1.073s提升至0.348s。

4、小结

union有对结果集去重的效果,如果结果集的查询项中列长较长,那么所用的时间也会增加,因此,慎用union。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 12:40:09

程序员转型AI产品经理完整指南:大模型时代必备技能与学习路径

文章详细分析了转型AI产品经理的必要性与路径。首先指出AI快速发展使传统产品经理面临挑战,转型是必然趋势。然后介绍了AI产品经理的四大分类:C端、B端、硬件型和技术型,并分析了各自的特点和要求。最后提供了转型方法:确定适合方…

作者头像 李华
网站建设 2026/5/23 6:43:28

【大数据毕设选题推荐】基于Hadoop+Spark的起点小说网数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机毕设指导师** ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡有什么问题可以…

作者头像 李华
网站建设 2026/5/4 9:47:21

从曲面到清晰文字:工业视觉如何实现酒瓶标签100%可读

文章目录 毕设突围:酒瓶标签曲面展平+文字识别全流程实战,从传统方法到AI落地 一、先搞懂“酒瓶标签处理”的业务价值 二、传统图像处理:先从“基础玩法”入手 1. 图像预处理:灰度化与二值化 2. 轮廓检测:定位标签的大致区域 三、深度学习进阶:用U-Net精准分割标签 1. 数…

作者头像 李华
网站建设 2026/5/23 12:27:57

可直接商用的疲劳驾驶检测系统:基于 YOLOv10 的完整实战(源码 + UI 全开)

文章目录 基于YOLOv10的疲劳驾驶检测系统实战教程:UI界面+模型训练+实时部署,让你的项目从“Demo”到“产品” 一、为什么选YOLOv10做疲劳驾驶检测? 二、系统架构与技术拆解 (一)系统核心流程 (二)技术选型逻辑 三、实战:从数据到系统的全流程构建 步骤1:数据集准备与…

作者头像 李华
网站建设 2026/5/21 7:36:20

linux 设置 udp 缓冲区大小的方法有多少种

1.linux 设置 udp 缓冲区大小的方法有多少种 在 Linux 系统中,设置 UDP 缓冲区大小的方法主要有以下几种,分别适用于不同的场景和粒度(系统级、进程级、套接字级): 1. 通过 setsockopt() 系统调用(套接字级…

作者头像 李华
网站建设 2026/5/16 11:31:38

6大AI学术工具评测:自动改写如何优化论文语言

开头总结工具对比(技能4) �� 为帮助学生们快速选出最适合的AI论文工具,我从处理速度、降重效果和核心优势三个维度,对比了6款热门网站,数据基于实际使用案例: 工具名称 处理速度 降…

作者头像 李华