【项目实战】MySQL中union和union all的相同点与不同点
2023-09-14 09:14:14 时间
一、union和union all的相同点
在MySQL中,Union和Union All都是用来合并两个或者多个查询结果集的关键字
二、union和union all的不同点
union复杂,union all简单
2.1 自动压缩,自动求并集、去重、排序操作
(1)union
返回的查询结果是把两个查询结果集中的重复数据去除的
自动压缩多个结果集合中的重复结果
不仅对多个sql的查询结果做了合并,还在合并的基础上做了默认排序,同时还去除了重复行
在进行表链接后,会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
(2)union all
不会去掉重复的数据
只是简单的将两个结果合并后就返回
将所有的结果全部显示出来,不管是不是重复。
2.2 处理速度不同
(1)union
速度较慢
(2)union all
比union快很多
查询的速度会比Union快
因为Union All不需要比较每一行,以确定是否重复。
2.3 使用场景不同
(1)union
对查询结果进行排序、去重
最常见的是过程表与历史表Union
(2)union all
不对查询结果进行排序、去重的话
如果合并的两个结果集中,不包含重复数据,且不需要排序时
相关文章
- MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
- 【Mysql安装】Mac下安装mysql
- 【Mysql】初识MySQL
- navcat导入mysql.sql出现:2006, 'MySQL server has gone away'
- MySQL--执行mysql脚本及其脚本编写
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (
- 通过mysql写入php一句话木马
- MySQL数据库集群项目实战(主从架构、mycat、haproxy负载均衡、PXC集群)
- 【高可用MySQL解决方案】centos7配置mysql主从复制
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑨〗- 项目实战 - 封装数据库连接池与编写第一个业务流程(用户登录即身份校验)
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑬〗- 项目实战- 实现查询待审批新闻分页功能
- 〖Python 数据库开发实战 - Python与MySQL交互篇⑭〗- 项目实战 - 实现新闻管理 - 审批新闻 功能
- file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.i386 conflicts with file from package mysql-libs-5.1.73-8.el6_8.i686
- 查看MySQL锁等待的原因
- 【项目实战】MySQL 5.7中的关键字与保留字详解
- 【项目实战】如何使用Navicat查看MySQL版本?
- 【项目实战】WebFlux整合r2dbc-mysql实战