dbms_sqltune包的使用

DBMS_SQLTUNE优化SQL 是在oracle10g才出来的新特性,使用它能很大程度上方便对sql的分析和优化。执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限:

stat>grant advisor to user;

Grant succeeded.

使用DBMS_SQLTUNE包进行SQL优化,大致可以分为四个步骤:

创建优化任务
执行优化任务
显示优化任务的结果
按照建议执行优化



create table scott.t2 as select * from dba_objects;


declare
    tuning_task_name varchar2(30);
    tuning_sqltext clob;
begin
   tuning_sqltext:='select count(*) from t2 where upper(owner)=:owner';
   tuning_task_name:=dbms_sqltune.create_tuning_task(
       sql_text     =>tuning_sqltext,
       bind_list    =>sql_binds(anydata.convertvarchar2(100)),
       user_name    =>'SCOTT',
       scope        =>'COMPREHENSIVE',
       time_limit   =>60,
       task_name    =>'first_tuning_task13',
       description  =>'tune t2 count');
end;
/

dbms_sqltune.drop_tuning_task('first_tuning_task13');

PROCEDURE DROP_TUNING_TASK
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 TASK_NAME                      VARCHAR2                IN
 
SQL> select task_name from user_advisor_log;

TASK_NAME
------------------------------
first_tuning_task13

SQL> exec dbms_sqltune.execute_tuning_task('first_tuning_task13');

PL/SQL procedure successfully completed.

SQL> select status from user_advisor_tasks where task_name='first_tuning_task13';

STATUS
-----------
COMPLETED

SQL> set long 8000
SQL> select dbms_sqltune.report_tuning_task('first_tuning_task13') from dual;

...

  Recommendation (estimated benefit: 100%)
  ----------------------------------------
  - Consider running the Access Advisor to improve the physical sche
ma design
    or creating the recommended index.
    create index SCOTT.IDX$$_00780001 on SCOTT.T2(UPPER
('OWNER'));

...
 
 
 create index SCOTT.IDX$$_00780001 on SCOTT.T2(UPPER(OWNER));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值