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

Oracle
Oracle数据库系统紧急故障处理方法
Oracle SQL性能优化系列学习一
Oracle 数据库操作技巧集
Oracle组件实现动态Web数据库
ORACLE常见错误代码的分析与解决二
ORACLE常见错误代码的分析与解决三
在Oracle 8x实现自动断开后再连接
深刻理解Oracle数据库的启动和关闭
Oracle对两个数据表交集的查询
Oracle 8i字符集乱码问题析及其解决办法
Oracle 数据库管理脚本命名规范
Oracle不同数据库间对比分析脚本
Oracle数据库安全策略
Oracle数据库的空间管理技巧
Oracle数据库系统使用经验六则
ORACLE数据库应用开发常见问题及排除
Oracle系统表外键的更名
Oracle约束管理脚本
如何确定Oracle数据库表重复的记录
Oracle数据库索引的维护

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


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