怀人 2022-02-08 22:00 采纳率: 25%
浏览 128
已结题

oracle 千万级数据group by或distinct如何优化

1.问题

oracle 11g版本,一张用户参加活动的流水表,就参加某一活动的所有用户数目,进行去重统计。采用group by或distinct去重时,发现磁盘一直100%,速度过慢。

2.sql执行结果图

img

上图去重耗时=32s,下图不去重耗时=6s(相关字段均已建立索引,且索引未失效)。

img

3.sql解析计划图

img

4.请问

我发现耗时出现在group by、count(1)统计,导致的大量磁盘读写上,这种sql查询要如何优化呢?
或者有什么别的设计方法,可以避开这种问题呢?

  • 写回答

3条回答 默认 最新

  • 怀人 2022-02-10 18:17
    关注

    这sql优化我搞不出来了,改成代码里选用redis的典型应用场景解决了😂

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月18日
  • 已采纳回答 2月10日
  • 创建了问题 2月8日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据