使用dbms_sqltune获得SQL调整建议

简介:   原创转载请注明出处   SQL TUNING ADVISOR是10G中顾问构架中的一个重要组建,除了使用EM来进行使用还可以使用语句来使用,主要目的在于看看ORACLE给出的SQL优化建议,但是好像不是每次都有效。

 

原创转载请注明出处  

SQL TUNING ADVISOR是10G中顾问构架中的一个重要组建,除了使用EM来进行使用还可以使用语句来使用,主要目的在于看看ORACLE给出的SQL优化建议,但是好像不是每次都有效。如果能100%有用也不需要人为优化,不管如何我感觉可以一试。一下是完成这个任务的过程

1、创建调整任务

---define
DECLARE
my_task_name   VARCHAR2 (30);
my_sqltext     CLOB;
BEGIN
my_sqltext :=  'select * from pp,pp2 order by 1,2,3,4';
 my_task_name := dbms_sqltune.create_tuning_task (sql_text=> my_sqltext,
       bind_list     => null,
       user_name     => 'sys',
       scope         => 'COMPREHENSIVE',
       time_limit    => 60,
       task_name     => 'TEST_tuning_task',       
       description   => 'Tuning Task'
    );
END;

2、执行调整任务

---execute
exec dbms_sqltune.execute_tuning_task('TEST_tuning_task');

3、查看执行情况

---checek
SELECT status FROM USER_ADVISOR_TASKS WHERE lower(task_name) ='test_tuning_task';
select * from user_advisor_tasks;

---report
SET LONG 999999
set serveroutput on size 999999
SET LINESIZE 1000
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('TEST_tuning_task') FROM DUAL;

4、删除调整任务

---drop
exec dbms_sqltune.drop_tuning_task('TEST_tuning_task');

相关文章
|
SQL Oracle 关系型数据库
Oracle 重做日志调整 SQL语句
Oracle 数据库安装之后,重做日志默认为 3组,如果需要新增删除,可以通过以下方式!
|
SQL 关系型数据库 Oracle
|
SQL
通过调整表union all的顺序优化SQL
原文:通过调整表union all的顺序优化SQL   操作系统:Windows XP   数据库版本:SQL Server 2005   今天遇到一个SQL,过滤条件是自动生成的,因此,没法通过调整SQL的谓词达到优化的目的,只能去找SQL中的“大表”。
1329 0
|
SQL Oracle 关系型数据库
Oracle数据库SQL语句性能调整的基本原则
这篇论坛文章(赛迪网技术社区)详细的介绍了Oracle数据库SQL语句性能调整的基本原则,具体内容请参考下文。 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。
1194 0
|
SQL 数据库 索引
SQL Server调整因子
SQL Server表索引有一种使自己稀疏的特性,表越大并且访问越频繁,就越需要一个合适的调整因子。   SQL Server表索引的填充因子选项是最常见的针对索引的一种调优方法。索引的填充因子是一个百分比,用于告诉SQL Server每个叶级索引页可以填充多少索引数据,多少空间应该保留作为成长空间。
949 0
|
SQL Oracle 关系型数据库
SQL语句性能调整原则
 一、问题的提出   在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。
1109 0
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
5月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
129 13
|
5月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。