在Oracle 10gR2中为单条sql运行SQL Access Advisor

本文介绍如何使用Oracle的SQLAccessAdvisor针对特定SQL语句进行优化建议。通过实例演示创建索引的过程,并提供完整的PL/SQL脚本及输出结果。

为单条sql运行SQL Access Advisor
参考自:
https://oracle-base.com/articles/10g/sql-access-advisor-10g

[oracle@test ~]$ sqlplus scott/aaaaaa

SQL*Plus: Release 10.2.0.5.0 - Production on Sat Jul 1 07:22:20 2017

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> BEGIN
  2  DBMS_ADVISOR.quick_tune(
  3  advisor_name => DBMS_ADVISOR.SQLACCESS_ADVISOR,
  4  task_name    => 'emp_quick_tune_12345',  
  5  attr1        => 'SELECT e.* FROM emp e WHERE UPPER(e.ename) = ''SMITH''');
  6  END;
  7  /

PL/SQL procedure successfully completed.

SQL> SET LONG 100000
SQL> SET PAGESIZE 50000
SQL> SELECT DBMS_ADVISOR.get_task_script('emp_quick_tune_12345') AS script FROM   dual;

SCRIPT
--------------------------------------------------------------------------------
Rem  SQL Access Advisor: Version 10.2.0.5.0 - Production
Rem
Rem  Username:          SCOTT
Rem  Task:          emp_quick_tune_12345
Rem  Execution date:  01/07/2017 07:23
Rem

CREATE INDEX "SCOTT"."EMP_IDX$$_00710001"
    ON "SCOTT"."EMP"
    (UPPER("ENAME"))
    COMPUTE STATISTICS;



SQL>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值