查看Oracle自动优化建议

Oracle运行一段时间后,系统会自动给出一些调优建议,放在dba_advisor_actions视图中,视图的几个主要字段见下:

task_name       --优化任务名

execution_name  --执行名

object_id       --对象ID

command         --使用的命令

attr1           --具体命令:如,alter table xxx  shrink space

attr2           --具体命令:如,alter table xxx  shrink space compact

attr3           --具体命令:如,alter table xxx  enable row movement

attr4

attr5           --索引建议。当attr4 = BTREE时,attr5给出的是需要建索引的列名,attr3是表名

attr6

message         --优化的中文说明

--查看系统自动优化建议(报告前一天的),‘SYS_AUTO_SQL_TUNING_TASK‘是系统自定义的

select dbms_sqltune.report_tuning_task(‘SYS_AUTO_SQL_TUNING_TASK‘)  from  dual;

--查看一个范围内的报告,begin_exec和end_exec取自execution_name 字段的值

select dbms_sqltune.report_auto_tuning_task(begin_exec => ‘EXEC_5815‘,end_exec => ‘EXEC_6166‘)  from  dual;

--查看execution_name的调优报告

select dbms_sqltune.report_tuning_task(task_name => ‘SYS_AUTO_SQL_TUNING_TASK‘, execution_name => ‘EXEC_6166‘)  from  dual;

--查看某个对象的调优报告,取object_id 的值

select dbms_sqltune.report_auto_tuning_task(object_id => ‘33075‘)  from  dual;

通过上面的调优建议,就可以参照加以实施优化了(以上在有DBA权限的账户下执行)。

时间: 2024-08-04 10:16:21

查看Oracle自动优化建议的相关文章

oracle 性能优化建议小结

原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 尤其是“主键ID=?”这样的条件. 原则二: SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间 . 简单地讲,语句执行的时间越短越好(尤其对于系统的终端用户来说).

SQL自动审核-给出优化建议

sql_review 为方便dba和开发审核sql,特增加了规则,只需在网页里输入sql语句,会自动给出优化建议.参考的percona在线sql审核思路实现. php环境搭建:yum install httpd php 演示地址:http://106.75.10.36/ 使用说明: 1.我只对select和create加了规则,update/delete/alter属于危险语句,仍旧需要人工审核. 2.语句之间要有空格,例where id = 100,没有空格会影响判断的准确性. GitHub源

性能优化建议

性能优化建议 1.为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的.因为,我们某些查询语句会让MySQL不使用缓存.请看下面的示例: // 查询缓存不开启 $r = mysql_query("SELECT username F

Oracle SQL 优化规则

一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一.系统优化中一个很重要的方面就是SQL语句的优 化.对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的 SQL语句,提高系统的可用性. 在多数情况下,Oracle

雅虎35条性能优化建议

雅虎35条性能优化建议分7类,共35条: [内容]尽量减少HTTP请求数 [服务器]使用CDN(Content Delivery Network) [服务器]添上Expires或者Cache-Control HTTP头 [服务器]Gzip组件 [css]把样式表放在顶部 [js]把脚本放在底部 [css]避免使用CSS表达式 [js, css]把JavaScript和CSS放到外面 [内容]减少DNS查找 [js, css]压缩JavaScript和CSS [内容]避免重定向 [js]去除重复脚

Oracle性能优化之统计信息管理_超越OCP精通Oracle视频教程培训32

Oracle性能优化之统计信息管理_超越OCP精通Oracle视频教程培训32 本课程介绍: Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第2/10套:Oracle性能优化之执行计划管理.主要学习Oracle性能优化,统计信息的作用与查看,收集统计信息的方法之analyze,收集统计信息的方法之DBMS_STATS,收集统计信息的方法之数据库,收集统计信息的方法之用户,收集统计信息的方法之表,收集统计信息的方法之索引,收集统计信息的

Oracle 性能优化

(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)      WHERE子句中的连接顺序.:ORACLE采用自下而上的顺

对Android开发者有益的40条优化建议

下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激励你,因为你在保持不断迭代,不经意中你学到了很多.然而,当你发布应用时你还要做一些更深入的事情. 从一些可正常工作的代码到一个可怕的应用程序是一个巨大的跳跃,相比iOS平台Android更是如此 .当在iOS上发布应用时只是在一个设备上跳跃–你的手机–对很多设备而言都很相似–同样大小的屏幕,都有很好

Jquery学习--性能优化建议

一.选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. 1 $('#content').hide(); 或者从ID选择器继承来选择多个元素: 1 $('#content p').hide(); 2. 在class前面使用tag jQuery中第二快的选择器就是tag选择器(如$(‘head’)),因为它和直接来自于原生的Javascript方法getElementByTagName().所以最好总是用t