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

通过图表简化sql语句的表关联(r4笔记第70天)

在之前的博文中分享过一个执行了两天的一条sql语句,走了两个大表的扫描,导致执行时间很长,通过简化sql做了不小的改进,今天我们来看看还可以做些什么。with tmp_logical_date as (SELECT logical_date FROM logical_date WHERE logical_date_type = 'R' AND expiration_date IS NULL)SELECT trim(TO_CHAR(COUNT(distinct coll.entity_id), '000000000')) FROM cl1_coll_entity coll, table_bpm_step_inst bpm, table_bpm_step, ar1_account, csm_account, csm_pay_channel, customer, subscriber, ar1_billing_arrangement, ar1_address_name, charge_distribute, tmp_logical_date WHERE coll.entity_id(+) = csm_account.ban AND coll.proc_inst_id = bpm.parent2proc_inst AND bpm.step2step = table_bpm_step.objid AND bpm.status = 30 AND coll.entity_id = ar1_account.account_id AND csm_account.ban = csm_pay_channel.ban-- AND ar1_account.account_id = ar1_aged_trial_balance.account_id AND csm_account.customer_id = customer.customer_id AND csm_account.customer_id = subscriber.customer_id AND ar1_account.account_id = ar1_billing_arrangement.account_id AND ar1_account.account_id = ar1_address_name.account_id AND ar1_address_name.address_type = 'ACC' and exists( (SELECT 1 FROM ar1_aged_trial_balance WHERE aged_type = 'D' AND group_type = 'B' AND status = 'EFF' AND TRUNC(tmp_logical_date.logical_date - due_date) >= 0 AND account_id = coll.entity_id ) ) AND subscriber.trx_id = charge_distribute.trx_id AND subscriber.subscriber_no = charge_distribute.agreement_no AND charge_distribute.target_pcn = csm_pay_channel.pym_channel_no AND csm_account.ban = csm_pay_channel.ban AND EXISTS (SELECT null--cl1_treatment_activity.entity_id FROM cl1_treatment_activity, table_bpm_step_inst, table_bpm_step WHERE cl1_treatment_activity.step_id = table_bpm_step_inst.objid AND table_bpm_step_inst.step2step = table_bpm_step.objid AND table_bpm_step.NAME LIKE '%IVR%' AND table_bpm_step_inst.status = 65 AND TO_DATE(TO_CHAR(cl1_treatment_activity.activity_date, 'YYYYMMDD'), 'YYYYMMDD') =tmp_logical_date.logical_date AND cl1_treatment_activity.entity_id = csm_account.ban)0coll.entity_id(+) = csm_account.ban3 rows selected.1 row selected.0

相关文章:

  • 巧用外部表避免大量的insert (r4笔记第71天)
  • 海量数据迁移之数据抽取流程 (r4笔记第72天)
  • 重温快速排序(r4笔记第73天)
  • 海量数据迁移之sqlldr和datapump的缺点分析(r4笔记第74天)
  • mongoDB初探第一篇(r4笔记第75天)
  • 通过单例模式模拟RAC连接 (r4笔记第76天)
  • 特殊的物化视图刷新 (r4笔记第77天)
  • 总结nmon的诸多优点 (r4笔记第78天)
  • 不要成为技术的奴隶(二) (r4笔记第79天)
  • 清华梦的粉碎读后感--论理想主义者王垠(r4笔记第80天)
  • 浅谈Hadoop (r4笔记第81天)
  • MongoDB初探第二篇 (r4笔记第82天)
  • 大话UML中类之间的关系 (r4笔记第83天)
  • 关于Oracle的技术问答 (r4笔记第85天)
  • 【非原创】完全用Linux工作(下)(r4笔记第86天)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • CSS 专业技巧
  • es6
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Python十分钟制作属于你自己的个性logo
  • React16时代,该用什么姿势写 React ?
  • Ruby 2.x 源代码分析:扩展 概述
  • Solarized Scheme
  • STAR法则
  • 观察者模式实现非直接耦合
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 入口文件开始,分析Vue源码实现
  • 十年未变!安全,谁之责?(下)
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 为视图添加丝滑的水波纹
  • 我有几个粽子,和一个故事
  • 用jQuery怎么做到前后端分离
  • 主流的CSS水平和垂直居中技术大全
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 进程与线程(三)——进程/线程间通信
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​iOS实时查看App运行日志
  • #{}和${}的区别?
  • #etcd#安装时出错
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (2020)Java后端开发----(面试题和笔试题)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (动态规划)5. 最长回文子串 java解决
  • (分布式缓存)Redis分片集群
  • (转)一些感悟
  • (转)原始图像数据和PDF中的图像数据
  • ..回顾17,展望18
  • .bat文件调用java类的main方法
  • .net 验证控件和javaScript的冲突问题
  • ;号自动换行
  • @WebServiceClient注解,wsdlLocation 可配置
  • []AT 指令 收发短信和GPRS上网 SIM508/548