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

Oracle
Oracle数据库技术(32)
Oracle数据库技术(33)
Oracle数据库技术(34)
Oracle数据库技术(35)
Oracle数据库技术(36)
Oracle数据安全面面观
Oracle数据操作和控制语言详解
Oracle数据库数据对象分析
解析Oracle 8i/9i的计划稳定性
使用Oracle实现实时通信
Oracle数据库中索引的维护
Oracle数据库游标使用大全
Oracle9i中监视索引的使用
在Oracle9i中使用多种Block Size
监控Oracle数据库的常用shell脚本
Performance Improvement Tips for Oracle on UNIX
Raw Partitions and Windows NT
How to use OS commands to diagnose Database Performance issues?
Raw Devices and Oracle - 20 Common Questions and Answers
Monitor Oracle Resource Consumption in UNIX

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


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