当前位置: 首页 > 图文教程 > 数据库 > Oracle > 在Oracle 10g中如何获得索引建议

Oracle
常见的一些Oracle初学者的问题
ORACLE认证系统概述
数据库考试简介:Oracle认证
Oracle认证基础知识介绍
ADO连接Oracle Access示例及记录集处理源码
SQL Server和MySQL的安全性分析
用Oracle和SQL Server数据库组合利弊分析
Oracle 11g分区功能新革命
Flashback Query 恢复误删除的数据
基于Oracle高性能动态SQL程序开发
怎样在Oracle 9i中正确的转换时区
Oracle 10g导出的数据库能否导入Oracle 9i?
增加Distinct后查询效率反而提高
Oracle限制返回结果集的大小
Java语言数据库操作的基本流程
美国甲骨文(ORACLE)公司入驻渝中区大都会商厦
RHEL AS4上安装oracle 10R2 的方法
DB中如何查询Table占用空间的大小
编写高质量高性能的MySQL语法
Oracle数据库自动备份的具体实现步骤

在Oracle 10g中如何获得索引建议


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 56 ::
收藏到网摘: n/a

    Oracle 10g的最优秀功能之一是顾问框架(Advisory Framework),它是一个优化顾问集合,可帮助您充分利用数据库。其中的一个顾问——SQL访问顾问(Access Advisor)——建议对模式中的索引和物化视图进行改变来提高性能。

    但是,由于顾问框架(Advisory Framework)被一般化,以支持各种不同的顾问,因此导航DBMS_ADVISOR包中的所有存储过程和函数会十分繁琐。一个CREATE_TASK过程初始化一个新的优化任务,一个SET_TASK_PARAMETER过程修改默认的参数,CTEATE_SQLWKLD过程则建立一个负载对象等等。

    Oracle 10g第二版在DBMS_ADVISOR包中增加了一个QUITE_TUNE过程。这个过程默认所需要的大多数参数来建立一个顾问,对界面进行调整。除建立一个负载对象(即进行优化的QSL语句表)外,它还直接向过程提交一个单独的SQL语句。

    要使用QUITE_TUNE过程——或DBMS_ADVISOR包中的任何其它工具——用户必须具有顾问权限。另外,进行分析的用户必须对查询中引用的表至少拥有选择许可。然后,只要简单地调用过程就行。如列表A所示。

    您可以在各种DBA_视图中查看运行结果。DBA_ADIVSOR_LOG列出您进行的任务和它生成建议的数目。然后可在DBA_ADVISOR_RECOMMENDATIONS视图中看到这些建议,单个的命令可在DBA_ADVISOR_ACTIONS视图中找到。

    而且,您还可以让DBMS_ADVISOR生成执行建议行为所需的完整SQL脚本。GET_TASK_SCRIPT函数返回一个包含脚本的SLOB.

    列表B显示了列表A的运行结果。因为WHERE子句使用的AMOUNT_SOLD栏没有编入索引,需要进行全面表扫描来处理这个语句。此外,它暗示这是一个位图索引,因为栏中的数据有许多重复的值。