利用sql_tuning_Advisor调优sql
1.赋权给调优用户
grant ADVISOR to xxxxxx;
2.创建调优任务
使用sql_text创建
DECLARE
my_task_name VARCHAR2 (30);
my_sqltext CLOB;
BEGIN
my_sqltext := 'select * from emp where ename= :name and DEPTNO= :deptno';
my_task_name :=
DBMS_SQLTUNE.
CREATE_TUNING_TASK (
sql_text => my_sqltext,
bind_list => sql_binds (anydata.convertvarchar2 (10),
anydata.convertnumber (2)),
user_name => 'TEST',
scope => 'COMPREHENSIVE',
time_limit => 300,
task_name => 'test_sql_tuning',
description => 'Task to tune a query on emp');
END;
/
使用sql_id进行创建
DECLARE
my_task_name VARCHAR2 (30);
BEGIN
my_task_name :=
DBMS_SQLTUNE.
CREATE_TUNING_TASK (
SQL_ID => 'ddw7j6yfnw0vz',
scope => 'COMPREHENSIVE',
time_limit => 60,
task_name => 'tunning_task_ddw7j6yfnw0vz',
description => 'Task to tune a query on ddw7j6yfnw0vz');
END;
/
3.调整优化任务
--这里以调整调优任务时间为例
BEGIN
DBMS_SQLTUNE.
set_tuning_task_parameter (task_name => 'my_sql_tuning_task',
parameter => 'TIME_LIMIT',
VALUE => 300);
END;
4.执行sql调优任务
BEGIN
DBMS_SQLTUNE.EXECUTE_TUNING_TASK (task_name => 'test_sql_tuning');
END;
/
5.查看调优任务状态
SELECT status
FROM USER_ADVISOR_TASKS
WHERE task_name = 'test_sql_tuning';
6.查看调优任务结果
SET LONG 10000
SET LONGCHUNKSIZE 1000
SET LINESIZE 100
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('test_sql_tuning')
FROM DUAL;
7.其他
查看数据库的sql_profile
SELECT * FROM DBA_SQL_PROFILES;
删除sql的sql_profile
exec dbms_sqltune.drop_sql_profile('SYS_SQLPROF_014b39f084c88000');
利用sql_tuning_Advisor调优sql的更多相关文章
- 调优SQL思路
--调优SQL --sqlreview ->logshipping -> ag辅助副本 --查看正确的执行计划 打开实际的执行计划set statistics io on --查看错误的执 ...
- 我如何调优SQL Server查询
我是个懒人,我只想干尽可能少的活.当我干活的时候我不想太多.是,你没看错,这看起来很糟糕,作为一个DBA这很不合格.但在今天的文章里,我想给你展示下,当你想对特定查询创建索引设计时,你如何把你的工作和 ...
- 数据库性能调优——sql语句优化(转载及整理) —— 篇2
下面是在网上搜集的一些个人认为比较正确的调优方案,如有错误望指出,定虚心改正 (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中 ...
- SQL注入漏洞和SQL调优SQL注入漏洞和SQL调优
SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这 ...
- MySQL 性能调优——SQL 查询优化
如何设计最优的数据库表结构,如何建立最好的索引,以及如何扩展数据库的查询,这些对于高性能来说都是必不可少的.但是只有这些还不够,要获得良好的数据库性能,我们还要设计合理的数据库查询,如果查询设计的很糟 ...
- 数据库性能调优——sql语句优化(转载及整理) —— 篇1
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实 ...
- 标量子查询调优SQL
fxnjbmhkk4pp4 select /*+ leading (wb,sb,qw) */ 'blocker('||wb.holding_session||':'||sb.username||')- ...
- 十分钟释疑Oracle中“小表超慢”之谜(SQL调优/SQL优化)
前几天,一个用户找到我,说查一个小表的时候非常慢,我问有多慢,他说最快也得半个小时才能出结果,有时干脆不出结果,我说小表多大,他说就几十兆,有点疑惑,让他帮忙获取了相关信息,一看就明白了,原来所谓的小 ...
- Destoon B2B 调优SQL后 生成首页仍然慢或不成功的原因
修改php.ini文件,查找 ;date.timezone = ,把前面的分号去掉在 “=”后面加上时区. 比如:Asia/Shanghai (上海) 自动task有上面的问题 但后台生成时这样修改后 ...
随机推荐
- 学好Spark/Kafka必须要掌握的Scala技术点(三)高阶函数、方法、柯里化、隐式转换
5. 高阶函数 Scala中的高阶函数包含:作为值的函数.匿名函数.闭包.柯里化等,可以把函数作为参数传递给方法或函数. 5.1 作为值的函数 定义函数时格式: val 变量名 = (输入参数类型和个 ...
- 手把手教你配置KVM服务器
1 Ubuntu系统安装 1.1 制作启动盘 准备一个U盘,将其清空后,去官网下载Ubuntu18.04系统的iso镜像文件,并将其拷进U盘.然后下载一个UltralOS软碟通工具,完成安装后打开软碟 ...
- 03-flask-视图函数基础
代码 from flask import Flask, request, url_for, jsonify, redirect # 创建Flask对象 app = Flask(__name__) @a ...
- js上 十八、字符串
十八.字符串 #18.1.认识字符串 #什么是字符串 字符串可以是引号中的任意文本.字符串可以由双引号(")或单引号(')表示 ,如 'hello' , "中国" #为什 ...
- 处理fMRI数据的一些常用Matlab命令
背景 处理fMRI数据常常用到MATLAB,在此记录一些常用代码及功能. 1.读取原始DICOM数据 1-1 读入dicom图像并绘图: Image = dicomread('fMRI.dcm'); ...
- 冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?
写在前面 随着互联网的高速发展,企业中沉淀的数据也越来越多,这就对数据存储层的扩展性要求越来越高.当今互联网企业中,大部分企业使用的是MySQL来存储关系型数据.如何实现MySQL数据存储层的高度可扩 ...
- 七轮面试最终拿下阿里offer —— 十年经验之谈
前言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个"五年计划"截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了.但 ...
- iOS常见遍历方法汇总
一.for循环 NSArray *iosArray = @[@"L", @"O", @"V", @"E", @" ...
- C# 两个时间相减 计算两个时间差(年月日时分秒)
DateTime dt1; DateTime dt2; int days=(dt2.Date-dt1.Date).Days; 或者 TimeSpan ts = dt2 -dt1; ...
- easyui 动态添加input标签
动态添加easyui控件<input class=" easyui-textbox" > 这样是无效的,因为easyui没有实时监控,所以必须动态渲染$.parser. ...