使用DBMS_SQLTUNE优化SQL

本文通过具体示例展示了如何使用Oracle提供的dbms_sqltune包进行SQL调优,包括创建、执行优化任务,查看任务状态及结果,并最终删除任务。

--创建优化任务

DECLARE

my_task_name VARCHAR2 (30);
my_sqltext CLOB;
BEGIN
my_sqltext := 'select * from test_tune t where t.owner=''SCOTT''';
my_task_name := dbms_sqltune.create_tuning_task (
sql_text=> my_sqltext,
user_name => 'LEE',
scope => 'COMPREHENSIVE',
time_limit => 60,
task_name =>'sql_tuning_test',
description => 'Tuning Task'
);
END;

/


--执行优化任务

exec dbms_sqltune.execute_tuning_task('sql_tuning_test');


--查看任务状态

SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'sql_tuning_test';


--查看优化结果
SET LONG 999999
SET SERVEROUTPUT ON SIZE 999999

SET LINESIZE 100

SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('sql_tuning_test') FROM DUAL;


--删除优化任务
exec dbms_sqltune.drop_tuning_task('sql_tuning_test');
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值