当前位置: 首页 > news >正文

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。

http://www.jsqmd.com/news/263643/

相关文章:

  • Flutter 3.22+ 高性能开发实战:从状态管理到原生交互全解析 - 指南
  • 【大数据毕设选题推荐】基于Hadoop+Spark的起点小说网数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
  • 8B小模型后训练实战:企业私域语义空间稳定性与通用能力平衡指南
  • 2026首发版,自学AI大模型的正确顺序:最新最全学习路线
  • 【计算机毕设推荐】:Hadoop+Django气象地质灾害大数据可视化系统 毕业设计 选题推荐 毕设选题 数据分析 机器学习
  • 大模型选择困难症?8款主流AI助手(GPT/Claude/GLM等)特点与适用场景详解,建议收藏
  • linux 设置 udp 缓冲区大小的方法有多少种
  • 程序员转型AI产品经理完整指南:大模型时代必备技能与学习路径
  • 关于SSD1315/SSD1306的0xDA指令
  • Redis-配置文件 - 详解
  • 让 YOLOv11 Pose 在 RKNN 上跑起来:端侧姿态估计部署与性能优化实战
  • AI学术支持:6个平台智能分析与专业内容优化
  • 导师严选2026自考AI论文平台TOP10:哪款真能帮你写好毕业论文?
  • Bug侦破大会:破解技术悬案的终极策略
  • 图神经网络分享系列-GraphSage(Inductive Representation Learning on Large Graphs) (四)
  • 无人机实时图像推理加速实战
  • MATLAB高效算法优化实战技巧
  • 深度测评自考必备AI论文平台TOP9:选对工具轻松过关
  • 一个OHEM技巧,轻松解决样本失配,语义分割 mIoU 显著提升
  • 告别资料混乱!PandaWiki+cpolar 让本地 AI 知识库随身用
  • 6大AI学术工具评测:自动改写如何优化论文语言
  • 工业AMR场景融合设计原理2——系统的上下文分析
  • AI论文工具TOP8:改写+写作功能深度测评
  • YOLOv11-Pose部署RK3588实战:人体姿态识别精度翻倍,边缘推理速度突破瓶颈
  • 8款AI论文工具大PK:改写与写作功能谁更强?
  • 透明锁屏软件keyfreeze(屏幕锁) - 教程
  • Python自然语言处理的技术未来与架构演进
  • 突破长序列预测瓶颈:新一代高效 Transformer 架构全面提速
  • 亲测好用8个AI论文网站,专科生搞定毕业论文格式规范!
  • 6大学术平台AI工具解析:智能改写提升论文语言专业性