【书评:Oracle查询优化改写】第14章 结尾章

一.1  相关参考文章链接

前13章的链接参考相关连接:

【书评:Oracle查询优化改写】第一章 http://blog.itpub.net/26736162/viewspace-1652985/

【书评:Oracle查询优化改写】第二章 http://blog.itpub.net/26736162/viewspace-1654252/

【书评:Oracle查询优化改写】第三章 http://blog.itpub.net/26736162/viewspace-1660422/

【书评:Oracle查询优化改写】第四章 http://blog.itpub.net/26736162/viewspace-1661906/

【书评:Oracle查询优化改写】第五~十三章 http://blog.itpub.net/26736162/viewspace-1665934/

行列互转内容链接:http://blog.itpub.net/26736162/viewspace-1272538/

都是标量子查询惹的祸:http://blog.itpub.net/26736162/viewspace-1222431/

一.2  本文简介

这本书的第14章选取了能覆盖目前大部分的改写方法的案例。本来最后一篇不准备写的blog的, 但是觉得有始有终,还是把结尾篇写了吧。 为啥不想写呢?还是觉得没啥可写的,sql优化改写范围太广,没有一成不变的,书中给出的例子也只是抛砖引玉,不同的环境还是要根据具体情况来改写,比如这本书的作者认为标量子查询的性能不好,不喜欢使用,但是依据我的经验来说,标量子查询在某些情况下还是比较好的,比如在要求SQL的响应时间的情况下,标量子查询就比较好了。

第14章目录:

第 14 章 改写调优案例分享

14.1 为什么不建议使用标量子查询

14.2 用 LEFT JOIN 优化标量子查询

14.3 用 LEFT JOIN 优化标量子查询之聚合改写

14.4 用 LEFT JOIN 及行转列优化标量子查询

14.5 标量中有 ROWNUM =1

14.6 不等连接的标量子查询改写(一)

14.7 不等连接的标量子查询改写(二)

14.8 标量子查询与改写逻辑的一致性

14.9 用分析函数优化标量子查询(一)

14.10 用分析函数优化标量子查询(二)

14.11 用分析函数优化标量子查询(三)

14.12 用分析函数优化标量子查询(四)

14.13 用 MERGE 改写优化 UPDATE 281

14.14 用 MERGE 改写有聚合操作的 UPDATE(一)

14.15 用 MERGE 改写有聚合操作的 UPDATE(二)

14.16 用 MERGE 改写 UPDATE 之多个子查询(一)

14.17 用 MERGE 改写 UPDATE 之多个子查询(二)

14.18 UPDATE 改写为 MERGE 时遇到的问题

14.19 整理优化分页语句

14.20 让分页语句走正确的 PLAN

14.21 去掉分页查询中的 DISTINCT

14.22 用 WITH 语句减少自关联

14.23 用 WITH 改写优化查询

14.24 用 WITH 把 OR 改为 UNION

14.25 错误的 WITH 改写

14.26 错误的分析函数用法

14.27 用 LEFT JOIN 优化多个子查询(一)

14.28 用 LEFT JOIN 优化多个子查询(二)

14.29 用 LEFT JOIN 优化多个子查询(三)

14.30 去掉 EXISTS 引起的 FILTER

14.31 重叠时间计数

14.32 用分析函数改写优化

14.33 相等集合之零件供应商

14.34 相等集合之飞机棚与飞行员

14.35 用分析函数改写最值过滤条件

14.36 用树形查询找指定级别的数据

14.37 行转列与列转行

14.38 UPDATE、ROW_NUMBER 与 MERGE

14.39 改写优化 UPDATE 语句

14.40 改写优化 UNION ALL 语句

14.41 纠结的 MERGE 语句

14.42 用 CASE WHEN 去掉 UNION ALL

14.43 不恰当的 WITH 及标量子查询

14.44 用分析函数加“行转列”来优化标量子查询

14.45 用分析函数处理问题

14.46 用列转行改写 A 表多列关联 B 表同列

14.47 用分析函数改写最值语句

14.48 多列关联的半连接与索引

14.49 巧用分析函数优化自关联

14.50 纠结的 UPDATE 语句

14.51 巧用 JOIN 条件合并 UNION ALL 语句

14.52 用分析函数去掉 NOT IN

14.53 读懂查询中的需求之裁剪语句

14.54 去掉 FILTER 里的 EXISTS 之活学活用

一.3  总结

第14章也就不举例子的,关于个人优化过的几个sql,可以参考文章链接。

SQL优化 系列

【推荐】 SQL优化中索引列使用函数之灵异事件

http://blog.itpub.net/26736162/viewspace-1329880/

【推荐】 oracle 如何预估将要创建的索引的大小

oracle 行列互换总结

http://blog.itpub.net/26736162/viewspace-1272538/

【推荐】 关于under any table/view 权限的解释

http://blog.itpub.net/26736162/viewspace-1266876/

【推荐】 有关 视图 vw_sql_rubbish_monitor_lhr 的内容

http://blog.itpub.net/26736162/viewspace-1262559/

【推荐】 统计信息不准确导致执行计划走了笛卡尔积

http://blog.itpub.net/26736162/viewspace-1254942/

【推荐】 11.2.0.2的SPM的一个bug

http://blog.itpub.net/26736162/viewspace-1248506/

【推荐】 update修改为merge(max+decode)

http://blog.itpub.net/26736162/viewspace-1244055/

【推荐】 将游标修改为建表来提高效率

http://blog.itpub.net/26736162/viewspace-1244050/

【推荐】 一个insert插入语句很慢的优化

http://blog.itpub.net/26736162/viewspace-1244044/

【推荐】 都是标量子查询惹的祸

http://blog.itpub.net/26736162/viewspace-1222431/

【推荐】 采用merge语句的非关联形式再次显神能

http://blog.itpub.net/26736162/viewspace-1222423/

【推荐】 采用MERGE语句的非关联形式提升性能 ---后传

http://blog.itpub.net/26736162/viewspace-1222417/

【推荐】 Oracle的告警日志之v$diag_alert_ext视图

http://blog.itpub.net/26736162/viewspace-1221559/

【推荐】 采用MERGE 语句的非关联形式提升性能

http://blog.itpub.net/26736162/viewspace-1218671/

【推荐】 从执行计划的预估行数看执行计划是否正确

http://blog.itpub.net/26736162/viewspace-1209796/

【推荐】 走了索引为啥还像蜗牛一样?

http://blog.itpub.net/26736162/viewspace-1208814/

一.4  about me

本文转自lhrbest 51CTO博客,原文链接:http://blog.51cto.com/lhrbest/1654645,如需转载请自行联系原作者

【书评:Oracle查询优化改写】第14章 结尾章相关推荐

  1. 【书评:Oracle查询优化改写】第三章

    [书评:Oracle查询优化改写]第三章 BLOG文档结构图 一.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 隐含参数 _ ...

  2. 【书评:Oracle查询优化改写】第四章

    [书评:Oracle查询优化改写]第四章 [书评:Oracle查询优化改写]第四章 BLOG文档结构图 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O ...

  3. oracle书评,【书评:Oracle查询优化改写】第二章

    BLOG文档结构图 在上一篇中http://blog.itpub.net/26736162/viewspace-1652985/,我们主要分析了一些单表查询的时候需要注意的内容,今天第二章也很简单,主 ...

  4. 只是简单读了读《oracle查询优化改写》,就让我获益匪浅,想写好sql,这一本书就够了!

    目录 写在前面 基础知识 空值 返回前几行 获取随机数 like 排序 union 分页(6-10条) 表关联 复制表 日期 日期加减 trunc对于日期的用法 获取时间 判断是否是闰年(只需要判断二 ...

  5. Oracle查询优化改写2.0 第二章:给查询结果排序

    ------chapter2给查询结果排序 --2.1以指定的次序返回查询结果  order by xxx asc/desc select empno,ename,hiredate from emp ...

  6. 2016.9.9《Oracle查询优化改写技巧与案例》电子工业出版社一书中的技巧

    1.coalesce (c1,c2,c3,c4,...) 类似于nvl但可以从多个表达式中返回第一个不是null的值 2.要在where条件中引用列的别名,可以再嵌套一层查询 select * fro ...

  7. oracle is null效率,Oracle查询优化之is null和is not null优化

    最近工作的时候遇到了比较大的数据查询,自己的sql在数据量小的时候没问题,在数据量达到300W的时候特别慢,只有自己优化sql了,以前没有优化过,所以记录下来自己的优化过程,本次是关于is null和 ...

  8. Oracle APEX 系列文章14:Oracle APEX 18.1 Docker 镜像

    本文是钢哥的 Oracle APEX 系列文章的第14篇,完整文章目录如下: - Oracle APEX 系列文章01:Oracle APEX, 让你秒变全栈开发的黑科技 - Oracle APEX ...

  9. 【Git】版本控制管理(第二版) 前言 第一章 第二章

    版本控制管理 前言 第一章 第二章 资源 前言 本书结构 第一章 介绍 总结在开头 1.1 背景 1.2 Git的诞生 1.3 先例 1.4 时间线 第二章 安装Git 2.1 使用Linux上的二进 ...

最新文章

  1. tf.variable和tf.get_Variable以及tf.name_scope和tf.variable_scope的区别
  2. Nginx源码安装及应用
  3. 为什么 Java 线程没有 Running 状态?
  4. python中list是什么意思_python中list和list [:]有什么区别?
  5. 程序员面试不完全指南
  6. pytorch教程龙曲良11-15
  7. python tkinter火柴人_趣学Python编程
  8. 【开源项目】C++BASE64图像编解码算法
  9. FFMPEG视音频编解码零基础学习方法
  10. SpringCloud工作笔记040--- XMLHTTP中setRequestHeader()方法解析
  11. 现代企业,最好都是合伙人制度,都是股份制,全员持股最好
  12. python 股票指标库talib_Talib金融库的使用
  13. java对外接口开发实例
  14. 误差修正ECM模型怎么分析?
  15. Yolov3的Pytorch版本实现火焰检测
  16. ueditor插入图片调节框显示bug
  17. Ubuntu关机和重启的命令
  18. ArangoDB数据类型
  19. describe是sql的关键字
  20. 语义分析——TEST编译器(3)

热门文章

  1. vue element-ui Notification 挤在一起,重叠问题 解决办法
  2. 行人姿态估计--Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
  3. 【rnnoise快速体验】rnnoise从编译到训练
  4. LeetCode 145. Binary Tree Postorder Traversal--后序遍历--先序遍历反向输出--递归,迭代--C++,Python解法
  5. vmware虚拟机ubuntu开机黑屏问题解决
  6. MySQL查看所有视图的命令
  7. 2020年班级管理html,2020年七年级班主任工作计划
  8. 聊聊Mysql的那些破事儿
  9. Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
  10. Xcode7.1环境下上架iOS App到AppStore 流程 (3)