《跨 界 之SQLPL/SQL优化指南》目录下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《跨 界 之SQLPL/SQL优化指南》目录下相关的知识,希望对你有一定的参考价值。

 

技术分享

目 录

 

三. 常见不合理的语句........................................................100

  3.1). 没有使用绑定变量....................................................100

  3.2). 隐含转换............................................................101

  3.3). 索引列上进行运算....................................................102

  3.4). SELECT中使用 *......................................................103

  3.5). SQL中调用序列、函数的问题............................................104

  3.6). 聚合操作取了不需要的列,列又作了转换或排序操作........................105

  3.7). SQL语句无法共享.....................................................107

  3.8). 表名书写顺序的问题..................................................108

  3.9). SQL中大小写混写.....................................................110

  3.10). 表的別名...........................................................110

  3.11). 表的关联字段设计不合理的问题........................................112

  3.12). 没有使用 ORACLE提供的高效函数.......................................112

  3.13). 减少表的访问次数的问题..............................................114

  3.14). 减少数据的查找范围..................................................115

  3.15). 画蛇添足的写法.....................................................116

  3.16). 子程序缺少异常处理部分..............................................118

  3.17). 子程序处理逻辑不明确,没有使用直接赋值,且无异常处理.................119

 

四. SQL优化写法.............................................................121

  4.1). INSERT语句的优化....................................................121

      4.1.1). 逐条插入改为批处理插入.........................................121

      4.1.2). INSERT ... INTO  ... SELECT ... FROM 的优化...................123

  4.2). DELECT 语句的代化...................................................124

      4.2.1). 单表删除......................................................126

      4.2.2). 多表关联删除..................................................126

  4.3). UPDATE 语句的优化...................................................128

      4.3.1). 单表更新优化..................................................128

      4.3.2). 多表关联更新优化..............................................129

  4.4). SELECT 语句的优化...................................................130

      4.4.1). DISTINCT 的优化案例...........................................131

      4.4.2). 0R的优化案例..................................................132

      4.4.3). EXISTS的优化案例..............................................136

      4.4.4). 0R和EXISTS的混合优化案例......................................137

      4.4.5). MERGE INTO没有使用索引的案例..................................138

      4.4.6). 25个 UNION语句的优............................................140

      4.4.7). 善于使用 ORACLE函数的案例.....................................143

      4.4.8). 消除重复过滤条件的案例........................................145

      4.4.9). 减少中间结果集的反案例........................................147

      4.4.10). 增加冗余字段使用索引的案例...................................148

      4.4.11). 减少表的扫描次数的案例.......................................149

      4.4.12). 使用 ROWID 优化的案例........................................151

      4.4.13). ORDER BY 的优化案例..........................................151

      4.4.14). 使用隐含提示的优化案例.......................................152

 

五. 分析、监控和调优........................................................157

  5.1). 如何确定那些语句需要优化............................................157

      5.1.1). 查询 V$SQL,V$SQLAREA等视图..................................157

      5.1.2). 查看 ORACLE的自动调优任务....................................158

  5.2). 如何查看执行计划...................................................160

      5.2.1). 在 PL/SQL工具中按 EXPLAIN PLAN 按钮或者F5查看执行计划.........160

      5.2.2). 使用 EXPLAIN PLAN 语句查看执行计划...........................160

      5.2.3). 在CMD窗口或 SHEEL中使用SET AUTOTRACE TRACEONLY查看...........161

      5.2.4). 如何分析执行计划.............................................162

  5.3). 如何确定优化点.....................................................166

  5.4). 如何使用自动优化建议...............................................167

      5.4.1). 使用DBMS_SQLTUNE创建调优任务.................................167

      5.4.2). 通过SQL_ID创调优任务.........................................169

      5.4.3). 通过DBA_ADVISOR_ACTIONS视图查看优化建议......................171

  5.5). 如何使用SQL_TRACE和10046事件进行优化...............................172

      5.5.1). 使用SQL_TRACE进行优化.......................................172

      5.5.2). 使用10046事件进行优化.......................................174

  5.6). 如何收集统计信息..................................................176

  5.7). 如何监控索引......................................................178

 

六. 补充部分(报表开发神器)................................................180

  6.1). 分析函数..........................................................180

      a). RANK() / DENSE_RANK()函数.......................................181

      b). 开窗函数(windowing functions).................................182

      c). 制表函数(reporting functions).................................183

      d). LAG / LEAD函数 .................................................184

      e). FIRST / LAST函数................................................185

      f). LISTAGG 高级分析函数............................................186

   6.2). 行列转换.........................................................187

       6.2.1). PIVOT列转为行..............................................187

       6.2.2). UNPIVOT 行转为列...........................................190

   6.3). SQL 模型子句(SQL MODELING).......................................192

       6.3.1). 简介.......................................................192

       6.3.2). 单个单元格引用(SINGLE CELL REFERENCES).....................193

       6.3.3). 位置引用(POSITIONAL REFERENCES)............................194

       6.3.4). 位置引用,既更新现有单元格,又创建新单元格...................195

       6.3.5). 多单元格引用(MULTI-CELL REFERENCES)........................196

       6.3.6). 使用CV函数.................................................197

       6.3.7). 使用F0R循环................................................198

       6.3.8). 使用ANY通配符..............................................199

 

 

 

本文出自 “srsunbing” 博客,请务必保留此出处http://srsunbing.blog.51cto.com/3221858/1786353

以上是关于《跨 界 之SQLPL/SQL优化指南》目录下的主要内容,如果未能解决你的问题,请参考以下文章

《前端跨界开发指南》中奖名单

《前端跨界开发指南》中奖名单

《前端跨界开发指南》中奖名单

PL/SQLPL/SQL块

PL/SQLPL/SQL中动态执行SQL语句

PL/SQLPL/SQL过程