博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
How to use STA(sql tuning advisor)
阅读量:5776 次
发布时间:2019-06-18

本文共 1561 字,大约阅读时间需要 5 分钟。

一、手工生成Sql tuning advisor 
1、SQL text format:
DECLARE
  my_task_name VARCHAR2(30);
  my_sqltext   CLOB;
BEGIN
  my_sqltext := 'SELECT * FROM DBA_SEGMENTS WHERE OWNER=''CLIC'' AND SEGMENT_TYPE=''TABLE''';
  my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_text    => my_sqltext,
                                                  scope       => 'COMPREHENSIVE',
                                                  time_limit  => 60,
                                                  task_name   => 'test_sql_tuning_task1',
                                                  description => 'Task to tune a query');
  DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => 'test_sql_tuning_task1');
END;
/
2、SQL id format:
DECLARE
  my_task_name VARCHAR2(30);
  my_sqltext   CLOB;
BEGIN
  my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id => 'b3uaak09jfaxc',
                                                  scope       => 'COMPREHENSIVE',
                                                  time_limit  => 60,
                                                  task_name   => 'test_sql_tuning_task1',
                                                  description => 'Task to tune a query');
  DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => 'test_sql_tuning_task1');
END;
/
二、查看生成的STAreport:
set long 999999
set LONGCHUNKSIZE 999999
set serveroutput on size 999999
set linesize 200
select dbms_sqltune.report_tuning_task('test_sql_tuning_task1') from dual;
exec dbms_sqltune.drop_tuning_task('test_sql_tuning_task1');
删除优化任务
SQL> execdbms_sqltune.drop_tuning_task(task_name => 'li_sql_1');
三、accept sql profile
接受建议的 SQL 概要文件,即创建SQL_Profle
SQL> execute dbms_sqltune.accept_sql_profile(task_name => 'test_sql_tuning_task1',task_owner =>'SYS', replace => TRUE);
 
查看创建起来的SQL_Profile信息
SQL>select a.name,a.task_id,a.createdfrom dba_sql_profiles a,dba_advisor_log bwhere a.task_id=b.task_idand b.task_name='test_sql_tuning_task1';
删除SQL_Profile
SQL>exec dbms_sqltune.drop_sql_profile(name =>'SYS_SQLPROF_01411bdf99410002');

转载地址:http://aehux.baihongyu.com/

你可能感兴趣的文章
【OSX】解决Terminal ssh连接"Write failed Broken pipe"问题
查看>>
聊聊散列表以及HashMap内部实现
查看>>
JS函数柯里化
查看>>
Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的...
查看>>
html之iframe,a
查看>>
flutter 混合开发 (android 实际操作)
查看>>
盒模型的一些介绍
查看>>
小猿圈python学习之10个提高编程效率的方法
查看>>
dubbo线程模型
查看>>
iframe用法利与弊以及解决方案
查看>>
五、文件包含漏洞
查看>>
我害怕年轻的会展人
查看>>
Android开启多进程及进程间通信的几种方式
查看>>
百度智能云如何加速区块链技术落地应用实体经济
查看>>
HashMap,难的不在Map,而在Hash
查看>>
Express实现图片上传
查看>>
MVVM 中的Databinding
查看>>
iOS 不规则Button点击(二)
查看>>
微软人工智能愿景 根植于研发 寄望于“对话”
查看>>
sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?
查看>>