Oracle数据库11g:SQL计划管理(二)
2008-09-04 12:50:24 来源:WEB开发网图2.4.1 SQL语句SPM_2.1.3执行计划(一)
图2.4.2 SQL语句SPM_2_1.3执行计划(二)
概念证明
为了证明潜在的SQL语句性能倒退减少了或完全消除了,现在我将简单地执行SPM_2_1.SQL中相同的五条SQL语句,并检验CBO的确选择了预先载入的SQL计划基线而不是执行一个新的执行计划效率更低的解析。判断这个的最简单的方法是为这五条语句执行DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE存储过程,当为FORMAT参数解析TYPICAL+NOTE的值时需要显示CBO已经选择的计划,如果CBO的确选择了一个现有的SQL计划基线作为它的执行计划,+NOTE指令指示存储过程显示一条记录。列表2.4显示了为SPM_2_1.sql中的五条语句执行这个存储过程的结果。
SPM情景#2:部署一个新应用程序
每当我部署一个新的应用程序到我的生产数据库时,我知道我实际上受应用程序开发人员和质量保证人员的摆布,即使我坚决主张严谨的数据库对象命名标准,严格坚持PL/SQL最佳实践,给不同绑定变量使用不同的值对SQL语句进行广泛地测试,我也知道这些指导意见往往不切实际。当我商店的应用程序开发团队和QA资源不能达成一致的标准时,或如果我的IT管理上司认为我们花费了太多时间进行测试,我知道这是一个新开发的内部应用程序对调整好的Oracle数据库施加严重的性能影响的好机会。
另一个可能引起数据库性能下降的因素是那些经过管理层批准强制部署的第三方应用程序,每个经验丰富的Oracle DBA有至少遇到过一次这种情况:一个外部应用程序正引起严重的性能问题,经过调查显示该应用程序的开发人员使用了“agnostic SQL”以满足在任何操作系统环境中的任何数据库上都能运行该应用程序,结果是,SQL代码不能直接调整,因为它是放置在应用程序中的。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接