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

Oracle
Oracle数据库的使用技巧五则
Oracle数据库的启动和关闭方式
解决Oracle并行服务器的相关问题
SuSE Linux10上安装Oracle数据库方法
正确进行Oracle数据库性能完全保护
最影响Oracle系统性能的初始化参数
掌握MIS系统实例中Oracle的安全策略
深入了解Oracle数据库后台进程的功能
如何用Oracle创建实例的参数需求
Oracle非法数据库对象引起的错误
掌握Oracle数据库中sequence的用法
黑客狙击Oracle系统的八大常用套路
数据从MySQL迁移到Oracle的注意事项
使用utl_smtp从Oracle中发送电子邮件
Oracle操作中常见的错误和解决方法
Oracle数据库中sequence的用法
使Oracle数据库保持优良性能
Oracle数据库中的临时表用法
Oracle10gR2中调整user commit的方法
SQL Server 2005对DBA的要求是否会更高

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 63 ::
收藏到网摘: 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栏没有编入索引,需要进行全面表扫描来处理这个语句。此外,它暗示这是一个位图索引,因为栏中的数据有许多重复的值。