关于Oracle 调整存在着许多神秘和规则:
更多内容请看Oracle 10g基础应用、PL/SQL专题,或进入讨论组讨论。
- 我是否应该分割这个表?
- 我应该使用什么分区scheme?
- 我应该将OPTIMIZER_INDEX_COST_ADJ和OPTIMIZER_INDEX_CACHING的值设为什么?
- 我是否应该定期重建我的索引?
进入SQL Performance Analyzer(SQL性能分析器,SPA)。这是我最喜欢的11g新特性之一。SQL Performance Analyzer允许你捕捉一个sql调整工具集,可以很多次地回去使用不同选择来重新执行,然后获得改变后的结果。
让我们快速浏览一下这个过程:
- 捕捉一个SQL调整工具集。这是一个从数据库控制台进行的一个步骤。在我后面的例子里,我告诉它去捕捉用户FLOWS_030000在之后的两分钟执行的所有SQL。然后我运行Application Express builder来生成SQL。
- 运行SQL Performance Analyzer “Guided Workflow”向导:
- 第一次替换SQL调整工具集。
- 改变一些参数或数据结构。
- 第二次替换SQL调整工具集。
- 比较这两个调整工具集并存储结果。
- 查看这个结果,包括改进或退后的SQL,以及改变了的所有SQL计划。
示例
这是一个例子,我们来看看改变OPTIMIZER_INDEX_COST_ADJ和OPTIMIZER_INDEX_CACHING 的影响。正如我先前所提到的,我们要使用的调整工具集是用户FLOWS_030000执行的SQL,所以这不是测试这个改变对整个数据库的影响,但是你可以捕捉整个数据库的调整工具集来测试这个影响。这里不会进行向导的所有5个步骤,因为没有那么多要看的。我会解释整个过程,包括捕捉SQL调整工具集,这只需要5分钟。
要从11g数据库控制台里到SQL Performance Analyzer,点击Performance标签,然后点击右下角的SQL Performance Analyzer,之后再点击Guided Workflow。下面是Guided Workflow 向导的一个截屏:
在开始第二步之前,运行下面的代码:
图2
在开始第三步之前,运行下面的代码:
图3
下面是结果的截屏。注意这379条SQL语句中,147条有错误。这是由于在APEX 中的DML操作,所以在这不是问题,但是这是一个要注意的地方。还要注意有78%的改进作用和0%的衰退影响。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Oracle 10g基础应用 (4659篇文章)
- PL/SQL (450篇文章)
- 甲骨文:从手机功能变化看数据库性能扩展 (27次浏览)
- Windows环境中同时安装Oracle9i 10g和11g (25次浏览)
- 测量磁盘I/O (21次浏览)
- 详细讲解Oracle表分区的相关概念及其优点 (16次浏览)
- Oracle 10G 新特性--透明数据加密技术 (15次浏览)
- Oracle数据库exp imp按用户导出导入实例 (12次浏览)
- Oracle中 in 和 not in的巨大区别 (12次浏览)
- Oracle:ERP伸向企业外部 (11次浏览)
- 教你快速掌握一个简单的Oracle定时任务 (9次浏览)
- 教你快速掌握Oracle数据库中的like优化 (9次浏览)






