社区
基础和管理
帖子详情
union all后再group by 非常的慢
dg831451
2020-02-04 07:58:25
我写了二段sql用 union all拼起来这两段明细数据,总共才100-300行之间,查询每次都很快在2-6秒就出来了,但是最外面再套一个select 后对他们进行group by 后,,,慢得很,,6-9分钟才出得来结果。。。真的不明白为什么会这样了。。
...全文
728
4
打赏
收藏
union all后再group by 非常的慢
我写了二段sql用 union all拼起来这两段明细数据,总共才100-300行之间,查询每次都很快在2-6秒就出来了,但是最外面再套一个select 后对他们进行group by 后,,,慢得很,,6-9分钟才出得来结果。。。真的不明白为什么会这样了。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
minsic78
2020-02-12
打赏
举报
回复
1、返回几行数据和返回满足SQL要求的所有数据是两回事情; 2、对大量数据进行group by操作也需要消耗资源; 首当其冲要搞清楚的是:union all的每个子查询会返回多少数据?返回所有数据需要多长时间?再次最好给出执行计划。
Rotel-刘志东
2020-02-11
打赏
举报
回复
仔细看一下提问技巧吧。
Rotel-刘志东
2020-02-11
打赏
举报
回复
贴出sql语句和执行计划,只是说明了一下,谁能帮你解决问题。
lhdz_bj
2020-02-10
打赏
举报
回复
1、贴SQL语句和对应的执行计划;
2、楼主说的200~300行是SQL?应该不是数据行数吧?
精品课:MySQL5.7零基础入门与实战(精讲)
第一章:MySQL 零基础入门详解01- MySQL导学课第二章 学习MySQL 环境准备工作00- MySQL 前生今世01- VMware 安装与配置02- VMware 安装CentOS 703- 安装 XShell04-CentOS 7 环境安装MySQL 5.705- Windows 2016环境安装MySQL 5.706- SQLyog 连接MySQL第三章 MySQL入门操作01-mysql对库的入门操作02-mysql对表的入门操作03-insert 入门详解04-delete 入门详解05-update入门详解06-select 入门详解07-总结第四章 MySQL进阶实战00-二进制与阴阳八卦的关系(选听)01-MySQL数据类型(整形)02- MySQL数据类型(浮点型,定点型)03-MySQL数据类型(字符型)04- MySQL数据类型(日期型)05- 约束类型06- 清朝四库全书引入数据库的概念(选听)07- 条件查询--运算符08- 数据联合
union
&
union
all09-数据排序 order by10-小节 in,or,
union
11-统计函数 count12- 统计函数 sum,avg13- 统计函数max,min14- 排重 distinct15- 数据分组
group
by&having16- 分页limit17- 字符串函数18-日期函数19- 数学函数20- 控制流函数21-其他函数22- 笛卡尔积(cross join)23-自然连接(natural join)24- 自连接25- 内连接 (inner join)26- 外连接(left,right join)27- 相关、不相关子查询28- 子查询 all,any29- 子查询exists not exists30- 索引31- 视图32- 存储过程33-自定义函数34- 数据备份和还原
hive
union
底层原理,
union
与
union
all再
group
by的性能对比
union
:将多个结果集合并为一个结果集,结果集去重。
union
all:将多个结果集合并为一个结果集,结果集不去重。 本次测试将四份数据去重合并,其中一份数据使用了
group
ing sets,所以这份数据是单独进行了一次reduce。 两种写法:一种是采用
union
的方法,另一种是采用
union
all再进行
group
by的方法(将不去重的结果集利用
group
by去重)。 接下来直...
union
all 和
group
by 的顺序问题
通过三个实验,来看
union
all 及
group
by 不同的使用顺序对CPU时间及耗时的影响 1. 先
Union
All, 再
Group
By select inctmid ctmid,cnlid,inwhsid whsid,sum(qty) qty,goodsid from ( select inctmid,cnlid,inwhsid,qty,goodsid
union
和
union
all的区别,
union
和
union
all +
group
by 去重效果
UNION
操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,
UNION
内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
UNION
操作符选取不同的值。如果允许重复的值,请使用
UNION
ALL。 sql语法: select id,`name` FROM stu
union
select id,`name` from stu2 在此建了两张表来比较
union
和
union
all的区别: stu
两表
union
如何保证
group
by 字段唯一
当要计算的指标可能来源多个表时,可能会使用到
union
all把不同的表中计算的指标合起来。写法一:
group
by之后
union
all ,之后再次
group
by保证分组字段的唯一。
Union
:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;写法二:开始不分组,将查到的分组字段
union
all 之后
group
by。
Union
All:对两个结果集进行并集操作,包括重复行,不进行排序;另外,回顾
union
和
union
all的区别:
union
会自动。
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章