19cOCP 5月周末班 正在报名 欢迎试听         RHCE9 4月周末班 正在授课 欢迎试学         2026清明·五一放假通知         PGCE 认证管理工程师,周末班报名中,欢迎垂询         KCP金仓数据库认证专家         RHCA培训+认证,助同学们实现梦想         MySQL认证周末班 正在招生 欢迎垂询!         

利用sqltune优化sql

更新时间: 2019-03-27 16:40

对低效的sql做优化,传统的方式是产生执行计划后,分析执行路径、统计信息等等有无异常,调优过程主要依赖dba的经验。利用dbms_sqltune包可以简化该过程,oracle产生执行计划的同时,针对低效sql会主动给出优化建议,以提高调优效率。方法如下。

1、创建针对低效sql的优化任务

ECLARE
task_name VARCHAR2 (20);
sqltext CLOB;
BEGIN
sqltext := 'select sender from DATA_BLKLISTS_HIS where sender=''86187xxxxxxxx''';
task_name := dbms_sqltune.create_tuning_task (sql_text=> sqltext,
 bind_list => null,
 user_name => 'SA',
 scope => 'COMPREHENSIVE',
 time_limit => 60,
 task_name => 'tunetask',
 description => 'Tuning Task'
 );
 END;
 /

 

2、执行任务

exec dbms_sqltune.execute_tuning_task('tunetask');

检查任务执行状态:

SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'tunetask';

 

3、生产分析报告

SET LONG 999999
set serveroutput on size 999999
SET LINESIZE 100
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('tunetask') FROM DUAL;

 

关注报告输出的recommendation,对有问题的sql,oracle会给出优化建议。

 

注:该方法相当于addm advisor的命令方式,在无法使用EM的环境中可使用。

开班信息MORE>>

课程名称 开课时间 上课类型 状态
RHCE培训 5月 周末班 授课中...
OCP认证培训 5月 周末班 授课中...
OCP培训 6月 精英班 报名中...
PGCE 数据库工程师 5月 周末班 报名中...
OCM培训 6月 周末班 报名中...
RHCE培训 常年 周末班 报名中...
MySQL培训 常年 周末班 报名中...
<<