《跨 界 之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优化指南》目录下的主要内容,如果未能解决你的问题,请参考以下文章