Oracle PLSQL性能调优诀窍与方法 pdf
内容简介
经证实的PL/SQL优化解决方案
在《Oracle PL\SQL性能调优诀窍与方法》这本书中,作为Oracle ACE的两位作者给出了一种方便的能够从PL/SQL获取优秀结果的方法,他们有着数十年为政府、企业和教育机构创建复杂生产系统的经验。本书首先介绍了精确定位性能问题的方法,并提供了可度量和验证的测试案例。在深入探讨SQL和PL/SQL的结合使用方法之后,又深入挖掘了适用于Oracle数据库的性能调优工具。本书通篇包含真实的示例和优秀实践。
作者简介
Michael Rosenblum ,是Dulcian,Inc.的一位软件架构师/不错DBA,负责系统调优和设计应用程序体系架构。Michael通过编写复杂的PL/SQL例程和研究新特性来为Dulcian的开发者提供支持。他是PL/SQL for Dummies(Wiley Press, 2006)一书的合著者,是Expert PL/SQL Practices (Apress, 2011)一书的贡献作者,也是大量与数据库相关的期刊文章和会议论文的作者。Michael是一位Oracle ACE,是众多Oracle用户组会议的活跃主持人,包括Oracle OpenWorld、ODTUG、IOUG C等
Paul Dorsey 博士是Dulcian,Inc.的创始人和总裁,这是一家Oracle咨询公司,专门从事业务规则和基于Web的应用程序开发。他是Dulcian,Inc.的Business Rules Information Manager (BRIM)产品工具的总架构师,还是Oracle出版社出版的7本书的合著者,这些书涵盖了Designer、数据库设计、Developer和JDeveloper等主题,已被翻译为9种语言,他还是Wiley出版社出版的PL/SQL for Dummies图书的合著者。
目录
第I部分PL/SQL性能调优的核心理念和要素
章PL/SQL在当前开发中的角色
1.1典型的Web应用程序处理流程
1.2 Web应用程序的性能问题区域
1.2.1步骤1:客户机的性能问题
1.2.2步骤2:客户机到应用服务器的传输问题
1.2.3步骤3:应用服务器的性能问题
1.2.4步骤4:应用服务器到数据库的传输问题
1.2.5步骤5:数据库的性能问题
1.2.6步骤6:数据库到应用服务器的传输问题
1.2.7步骤7:应用服务器处理性能问题
1.2.8步骤8:应用服务器到客户机的传输问题
1.2.9步骤9:客户机的性能问题
1.3发现使得Web应用程序性能变慢的原因
1.3.1使用计时器来收集有关性能的数据
1.3.2性能测量
1.4解决Web应用程序的性能问题
1.4.1解决客户机的性能问题(步骤1和9)
1.4.2分清客户机和应用服务器之间的性能问题(步骤2)
1.4.3解决应用服务器中的性能问题(步骤3和7)
1.4.4解决客户机中的性能问题(步骤9)
1.4.5心得
1.5总结
第2章DBA/开发者的界线:工具和特性
2.1数据字典视图
2.2 Oracle日志记录和跟踪
2.2.1日志记录的基础知识
2.2.2跟踪的基础知识
2.2.3日志记录/跟踪示例
2.3 PL/SQL层次式分析器
2.4RUNSTATS
2.5PL/SQL环境设置
2.5.1PLSQL_OPTIMIZE_LEVEL
2.5.2PLSQL_CODE_TYPE
2.5.3PLSQL_WARNINGS
2.5.4PLSQL_CCFLAGS
2.6PL/SCOpe
2.7总结
第3章PL/SQL中的代码插桩
3.1问题真的出在数据库中吗
3.2应用程序日志
3.2.1内置代码导航API
3.2.2用户驱动的日志
3.3代码插桩的佳实践
3.3.1设置过程标记
3.3.2设置错误标记
3.4总结
第Ⅱ部分链接SQL和PL/SQL
第4章扩展SQL的范围
4.1跳出SQL模式
4.1.1切换至PL/SQL,使生活变得更简单
4.1.2使用PL/SQL填补功能空白
4.2调用SQL内置函数
4.2.1单表问题
4.2.2多表问题
4.3和PL/SQL相关的统计及其对执行计划的影响
4.3.1 PL/SQL函数的硬件成本
4.3.2 PL/SQL函数的基数
4.3.3 PL/SQL函数的选择率
4.4只有Oracle Database 12c才有的特性
4.4.1PRAGMA UDF子句
4.4.2在WITH子句中添加函数
4.5总结
第5章用集合的概念来思考
5.1游标
5.2从SQL到PL/SQL加载集合
5.2.1 Oracle Database 12c:隐式分页与持续获取
5.2.2用PL/SQL合并集合
5.3 FORALL语句
5.3.1保持语法新:稀疏集合
5.3.2直接插入
5.3.3FORALL和表触发器
5.4总结
第6章使用触发器
6.1DML触发器
6.1.1数据保护:约束与触发器
6.1.2默认值
6.1.3非规范化的代价
6.2INSTEAD OF触发器
6.2.1基本的DML操作
6.2.2逻辑主键的危害
6.2.3处理UPDATE语句
6.3总结
第Ⅲ部分调优人员的工具包
第7章不仅限于标量数据类型
7.1 LOB的管理
7.1.1访问LOB
7.1.2存储机制
7.1.3110调优注意事项
7.1.4仅SecureFile才有的特性
7.2管理XML
7.2.1存储XML
7.2.2操作XML
7.3总结
第8章保持使用缓存
8.1内置缓存技术
8.1.1确定性函数
8.1.2标量子查询缓存
8.1.3 PL/SQL函数结果缓存
8.2手动缓存技术
8.2.1 PL/SQL集合
8.2.2 Oracle上下文
8.3总结
第9章射击移动目标
9.1扩展基础知识
9.1.1 CLOB输入
9.1.2光标转换
9.1.3 PL/SQL函数结果缓存的集成
9.1.4支持复杂的数据类型
9.2深度挖掘
9.2.1有关搜索的更多内容
9.2.2列表内陷阱
9.3应对Dynamic SQL误解带来的挑战
9.3.1偏见#1:Dynamic SQL会引起安全风险
9.3.2偏见#2:Dynamic SQL总是比正规的SQL慢
9.3.3偏见#3:Dynamic SQL总是引起解析
9.3.4偏见#4:DDL语句只能服务于DBA
9.4总结
第Ⅳ部分日常生活中的PL/SQL
0章来自战壕的传奇
10.1第三方的打包代码
10.2无状态问题
10.3未知的撤消
10.4递归的诅咒
10.4.1递归和光标
10.4.2递归和变量
10.5总结
1章真实系统中的代码管理
11.1代码管理的问题
11.1.1DBA的Lite版
11.1.2国产版本控制
11.2基于版本的重定义和性能调优
11.2.1理解Edition—Based Redefinition
11.2.2在Oracle Database 12c中对EBR所做的重要修改
11.3系统环境的差异以及与性能相关的代码管理
11.4总结
2章额外的秘诀、技巧和理念
12.1回到基础
12.1.1VARCHAR2内存的分配
12.1.2当前日期的成本
12.1.3二进制数据类型
12.2文本操作
12.2.1检查文本字符串的有效字符
12.2.2词的相似度
12.2.3VARCHAR2和视图
12.3增加处理的复杂性
12.3.1NOCACHE优化
12.3.2ACCESSIBLE BY子句
12.3.3关于流水线函数的更多知识
12.4总结
会员免费下载
链接:https://pan.baidu.com/s/1EJEzlJojtSqPWH9TBAZznA
提取码: ****** 查看
成为本站VIP会员即可无限下载。 请先点击百度网盘,看资源是否还在,不在请点击链接通知站长补资源。
资源标签点击标签可查看对应分类的资源