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

单表查询-group by rollup优化

1、group by rollup基本用法

我们有时候在项目上看到group by rollup用法,其实就是对group by分组进行合计。
下面看一下例子
select count(1),c3 from t1 group by rollup(c3);
计划
在这里插入图片描述
从计划中解读亦是如此,另外可以从结果上进行分析
在这里插入图片描述
第21行的count其实就是前面20行的总和。

2、优化

计划中可以看到对表扫描两次,而从结果中可以明白是对group by总计,那我们其实可以改写成将前面20行进行sum
with temp as
(
select count(1) cnt,c3 from t1 group by c3
)
select * from temp
union all
select sum(cnt),null from temp;
在这里插入图片描述

这里将temp做成临时表,然后只扫描表t1一次,达到优化效果。

3、小结

这里主要利用的优化思维就是减少扫描次数。

http://www.dtcms.com/a/360058.html

相关文章:

  • ibping基本使用 以及 包丢失 超时 排障
  • 【GPT入门】第62课 情感对话场景模型选型、训练与评测方法,整体架构设计
  • Redis核心原理与Java应用实践
  • 基于Seurat的空转单样本数据分析流程学习(一)
  • 性能优化三剑客:`memo`, `useCallback`, `useMemo` 详解
  • 7.1elementplus的表单
  • PyQt5 K线图实现与性能优化详解
  • 我的创作纪念日|一周年,上海-昆明-上海
  • QoS 基本原理与配置
  • 学生请假就餐系统
  • AI 赋能 Java 开发效率:全流程痛点解决与实践案例(二)
  • 使用cursor claude sonnet4的一些感受
  • 【系统分析师】高分论文:论原型法及其在系统开发中的应用
  • Langflow 框架中 Prompt 技术底层实现分析
  • LangChain中Prompt处理机制的技术架构与核心思想分析
  • [信号与系统个人笔记]第三章 连续时间信号与系统的频域分析
  • PPO、DPO和GRPO的区别
  • 【百度】C++开发(25届提前批 一面)面经
  • MongoDB 从零到入门:实用指南
  • 多租户配额与预算:限额、配额周期与突发桶的结算模型(Final)
  • juicefs+ceph rgw 存储安装
  • React 状态管理演进之路:从 Dva 到现代架构
  • leetcode 面试题 01.01.判定字符是否唯一
  • 解决浏览器的**混合内容安全策略**(Mixed Content Security Policy)带来的无法访问页面
  • 深入探讨JavaScript性能瓶颈:我的优化实战与思考
  • PBR 、 IPv6 PBR(基于策略的路由)原理与配置
  • 《济公》电视剧总结学习
  • 家庭全光组网高温故障深度分析与散热重构全记录
  • linux系统之----共享内存
  • 开学季,音频格式古诗词,也可作为启蒙教育。