sql tuning advisor为Oracle提供的sql优化工具,分析复杂SQL性能问题时可以通过sql tuning advisor参考oracle的建议。
1.创建测试数据
create user ttest identified by ttest;
grant connect,resource,dba to ttest;
conn ttest
/ttest
create table t1 as
select
* from dba_tables;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
commit;
create table t2 as
select
* from dba_users;
create table t3 as
select
* from dba_objects;
insert into t3 select * from t3;
insert into t3 select * from t3;
insert into t3 select * from t3;
insert into t3 select * from t3;
insert into t3 select * from t3;
commit;
create table t4 as
select
* from dba_data_files;
create view v1 as
select
t1.table_name,t1.owner,t1.TABLESPACE_NAME,t1.NUM_ROWS,t3.CREATED,t3.LAST_DDL_TIME from t1,t3 where t1.table_name=t3.object_name and t1.owner=t3.owner;
2.收集统计信息及测试效果
exec
dbms_stats.gather_schema_stats(
'TTEST'
);
select
* from v1 where table_name=
'SDO_FEATURE_USAGE'
;
3.执行sql tuning advisor
select sql_id,sql_text from v$sql where sql_text like '%SDO_FEATURE_USAGE%';生成task:
DECLARE
my_task_name VARCHAR2(30);
BEGIN
my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id =>
'20vymfjk9wqw8'
,
scope =>
'COMPREHENSIVE'
,
time_limit => 3600,
task_name =>
'sql_tuing_task'
,
description =>
'SQL TUNE TEST'
);
DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name =>
'sql_tuing_task'
);
END;
/
运行task,查看结果:
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK(
'sql_tuing_task'
) FROM DUAL;
按照建议执行新建两个索引,重新收集统计信息后,原sql执行耗时大大缩短,效果如下:
编辑推荐:
- 使用sql tuning advisor优化sql03-03
- 【Oracle】ORA-00054 错误解决方法03-03
- 监听配置细节参数详解两则03-03
- [20210323]bbed读取数据块5.txt03-03
- [20210311]如何建立bbed安装包.txt03-03
- [20210312]如何取整月日期.txt03-03
- 需要了解的Data Guard理论知识(一)03-03
- 需要了解的Data Guard理论知识(二)03-03
下一篇:
相关推荐
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 使用sql tuning advisor优化sql
使用sql tuning advisor优化sql
26-03-03
- Oracle监听日志清除
Oracle监听日志清除
26-03-03
- Oracle 19C RAC open_links_per_instance参数问题
- read by other session 等待事件分析
read by other session 等待事件分析
26-03-03
- Oracle sqlldr工具功能测试
Oracle sqlldr工具功能测试
26-03-03
- SQLServer 2012复制订阅数据订阅过程
SQLServer 2012复制订阅数据订阅过程
26-03-03
- [oracle] 索引低效,导致read by other session等待事件
- 【SQL】SQL表连接方法方式介绍(Oracle/Postgresql)
【SQL】SQL表连接方法方式介绍(Oracle/Postgresql)
26-03-03
- Oracle 19c数据库体系结构-2
Oracle 19c数据库体系结构-2
26-03-03
- 数据库无法注册至监听服务解决办法
数据库无法注册至监听服务解决办法
26-03-03
