本系列分享的SQL优化实例,并不一定适用于所有相似SQL或所有场景。我们只是介绍一种方法,当你再次遇到类似SQL,可以根据真实场景,选择最适合的方案。另外,有疑问的时候,最好的办法就是测试,动手才能找到最佳答案!

SQL文本如下:


SELECT NVL(SUM(SRE), 0) HRJEFROM MD3U.CARD_INCOME AWHERE YLGRZHH = '371081110630214389'AND DDQCSRH IS NULLAND ZDLSH IS NOT NULLAND NVL(CGBZ, '0') = '1'AND NOTEXISTS (SELECT 'x'FROM MD3U.BILL_MID BWHERE B.ZDLSH = A.ZDLSHAND B.DM = 'hbry'AND B.C = '2')AND NOTEXISTS (SELECT 'x'FROM MD3U.BILL_MID CWHERE C.ZDLSH = A.ZDLSHAND C.DM = 'hrzh'AND C.C = '2');

执行计划如下:

SQL统计信息如下:

索引相关信息如下:

从上面可以看到,该SQL的总执行时间为111,452,436毫秒(ms)大概30.95小时(h),总执行次数为295,420次,平均一天执行26856次,从而可以判定也是一个使用非常频繁的SQL查询。因为执行次数比较多,所以总时间也非常大,但是单次执行时间并不是很长,只有大概0.37秒(s)。这个SQL还可以进行优化。

优化前,文本执行后的执行计划:

建议创建索引的SQL如下:


CREATE INDEX MD3U.idx_KC20_01 ON MD3U.KC20(AAE072,BKE021,BKE004) ONLINE;
CREATE INDEX  MD3u.idx_KZ03_01 ON
MD3U.KZ03(AAZ905,BKE163) GLOBAL ONLINE  ;

创建索引后,文本执行后的执行计划:

可以看到优化后,执行时间从原来的0.01秒(s)变为0.01秒(s),逻辑读从原来的82变为17,执行时间上性能没有提高,但是逻辑读减少大概4.8多倍。

原文发布时间为:2017-09-27
作者: 云和恩墨
本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”微信公众号

走在专家的路上,每天一条SQL优化(3)相关推荐

  1. [20170104]一条sql优化.txt

    [20170104]一条sql优化.txt --生产系统不明原因重启,看了1下,顺便看了前后的awr报表,发现一条语句,其实问题没什么,只不过这种现象在开发很普遍,做一点点记录. 1.环境: xxxx ...

  2. 非常实用的12条 SQL 优化方案

    在开始介绍如何优化sql前,先附上mysql内部逻辑图让大家有所了解 (1)连接器: 主要负责跟客户端建立连接.获取权限.维持和管理连接 (2)查询缓存: 优先在缓存中进行查询,如果查到了则直接返回, ...

  3. 老司机总结的12条 SQL 优化方案(非常实用)

    今日推荐 减少 try-catch ,这样做才叫优雅!让人上瘾的新一代开发神器,彻底告别Controller.Service.Dao等方法SpringBoot实现人脸识别功能相信我,使用 Stream ...

  4. mysql数据库优化语句_【MySQL】10条SQL优化语句,让你的MySQL数据库跑得更快!

    慢SQL消耗了70%~90%的数据库CPU资源: SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低: SQL语句可以有不同的写法: 1 不使用子 ...

  5. 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)

    本文根据DBAplus社群第110期线上分享整理而成,文末还有好书送哦~ 讲师介绍 丁俊 新炬网络首席性能优化专家 SQL审核产品经理 DBAplus社群联合发起人.<剑破冰山-Oracle开发 ...

  6. sql加上唯一索引后批量插入_阿里大佬总结的52条SQL语句性能优化策略,建议收藏...

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 cnblogs.com/SimpleWu/p/9929043.html 推荐:h ...

  7. 【CSDN英雄会】 易宝支付架构师、移动产品线技术负责人程超:走在Java的路上

    英雄会是CSDN旗下针对国内IT技术领域专家展示和交流的平台.通过线下线上的互动形式,为CSDN社区专家提供更多学习.合作.宣传的机会.英雄会后续将在北上广深等国内一二线城市建立分会,各个分会后期将组 ...

  8. centos7修改ip地址命令_每天一条Linux命令(12) hostnam (超详细)

    在Linux系统中,命令 hostname 用于显示或者设置系统主机名称.许多网络程序均用主机名来标识主机,若没有设置好主机名,则可能会导致网络服务不正常. 语法: hostname [选择] 参数: ...

  9. 小鸡走在半路上遇到了一条河

    表演结束了的台词 今天的表演结束了的台词,梳理的很整齐,除夕之夜,狂风大作,小桥怎么断了,昨晚他又看得很晚,红烧甲鱼但令我最兴奋的是居然有海鲜在桌子上,谁知他往床上一栽,露出又长又尖的牙齿,相互举杯敬 ...

最新文章

  1. 学习web前端开发要注意什么
  2. Ora_Excel 碉堡了
  3. [T-ARA][Bo Peep Bo Peep]
  4. PHP 安全问题入门:10 个常见安全问题 + 实例讲解
  5. JSP JSTL标签库基本使用
  6. windows live writer向cnblog发布文章设置(转)
  7. Linux系统目录说明
  8. python如何设置窗口保持显示_如何保持Python脚本输出窗口打开?
  9. three.js制作3d模型工具_浙江3D打印模型制作收费标准▁来图定制
  10. linux先安装svn server
  11. 解决PLSQL Developer 插入中文 乱码问题
  12. windows7 nmap 命令行版本
  13. md5和sha256算法的区别,哪个比较安全
  14. Devart Excel Addins 2.5.660 插件 Crack
  15. Mybatis 缓存配置 ,如何禁用缓存与一些细节
  16. LLVM编写Pass对程序进行obfuscate
  17. PhpSpreadsheet读取excel
  18. List如何在遍历时删除元素
  19. animator动画
  20. English - therefore,so,hence,then,accordingly,thus用法解析

热门文章

  1. vue 拍照人脸识别_安排上了!PC人脸识别登录,出乎意料的简单
  2. 柱状图中xy轴怎么出现_烤烟烘烤中出现叶片发霉怎么办?
  3. MII 功能简介(论坛整理)
  4. php左右值实现无限极分类,基于ThinkPHP的二叉树左右值无限极分类实现
  5. HDLBits 系列(22) Shift register
  6. HDLBits 系列(12)All about Karnaugh Map
  7. 20165201 实验五 网络编程与安全
  8. JavaScriptSerializer序列化和反序列化JSON:使用自定义JavaScriptConverter
  9. GO语言基础之reflect反射
  10. oracle 常用sql