环境:

OS:Red Hat Linux As 5

DB:10.2.0.4

SQL Access Advisor是伴随着10G出现的一个优化工具,提供对表分区,物化视图,索引,物化视图日志优化建议.下边通过对单个SQL的执行,查看Oracle给出的建议.

1.建表并生成测试数据

SQL> connect scott/scott

Connected.

SQL> drop table tb_test;

SQL> create table tb_test(id number not null,name varchar2(30));

Table created.

SQL> create index idx_tb_test on tb_test(id);

Index created.

SQL> declare

begin

for i in 1 .. 100000 loop

insert into tb_test values (i, 'test');

commit;

end loop;

end;

2.分析表

connect / as sysdba

begin

dbms_stats.gather_table_stats(ownname => 'SCOTT', tabname => 'TB_TEST',cascade => true);

end;

3.使用dbms_advisor.quick_tune生成优化建议

connect / as sysdba

declare

l_task_name VARCHAR2(255);

l_sql_stmt  VARCHAR2(4000);

begin

l_sql_stmt  := 'select /*+ full(t) */ * from scott.tb_test t where t.id = :1';

l_task_name := 'MY_FULL_ACCESS_TEST';

DBMS_ADVISOR.QUICK_TUNE(DBMS_ADVISOR.SQLACCESS_ADVISOR,

l_task_name,

l_sql_stmt);

exception when others then dbms_output.put_line(sqlerrm);

end;

我们这里造一个走全表扫描的索引,很明显走索引才是正确的,这里的目的主要是看oracle会给出什么样的建议.

4.查看优化建议

SQL> set serveroutput on;

SQL> set long 999999999;

SQL> begin

show_recm('MY_FULL_ACCESS_TEST');

end;

=========================================

Task_name = MY_FULL_ACCESS_TEST

Action ID: 1

Command : RETAIN INDEX

Attr1 (name)      : "SCOTT"."IDX_TB_TEST_N1"

Attr2 (tablespace):

Attr3             : "SCOTT"."TB_TEST"

Attr4             : BTREE

Attr5             :

----------------------------------------

=========END RECOMMENDATIONS============

PL/SQL procedure successfully completed.

从以上输出可以看出oracle给出的建议是走索引.

show_recm过程如下:

CREATE OR REPLACE PROCEDURE show_recm (in_task_name IN VARCHAR2) IS

CURSOR curs IS

SELECT DISTINCT action_id, command, attr1, attr2, attr3, attr4

FROM dba_advisor_actions

WHERE task_name = in_task_name

ORDER BY action_id;

v_action        number;

v_command     VARCHAR2(32);

v_attr1       VARCHAR2(4000);

v_attr2       VARCHAR2(4000);

v_attr3       VARCHAR2(4000);

v_attr4       VARCHAR2(4000);

v_attr5       VARCHAR2(4000);

BEGIN

OPEN curs;

DBMS_OUTPUT.PUT_LINE('=========================================');

DBMS_OUTPUT.PUT_LINE('Task_name = ' || in_task_name);

LOOP

FETCH curs INTO

v_action, v_command, v_attr1, v_attr2, v_attr3, v_attr4 ;

EXIT when curs%NOTFOUND;

DBMS_OUTPUT.PUT_LINE('Action ID: ' || v_action);

DBMS_OUTPUT.PUT_LINE('Command : ' || v_command);

DBMS_OUTPUT.PUT_LINE('Attr1 (name)      : ' || SUBSTR(v_attr1,1,30));

DBMS_OUTPUT.PUT_LINE('Attr2 (tablespace): ' || SUBSTR(v_attr2,1,30));

DBMS_OUTPUT.PUT_LINE('Attr3             : ' || SUBSTR(v_attr3,1,30));

DBMS_OUTPUT.PUT_LINE('Attr4             : ' || v_attr4);

DBMS_OUTPUT.PUT_LINE('Attr5             : ' || v_attr5);

DBMS_OUTPUT.PUT_LINE('----------------------------------------');

END LOOP;

CLOSE curs;

DBMS_OUTPUT.PUT_LINE('=========END RECOMMENDATIONS============');

END show_recm;

-- The End --

oracle access advisor,SQL Access Advisor的使用相关推荐

  1. oracle advisor权限,Oracle调整顾问(SQL Tuning Advisor 与 SQL Access Advisor )

    在Oracle数据库出现性能问题时,使用Oracle本身的工具包,给出合理的调优建议是比较省力的做法.将一条或多条SQL语句做为输入内容 在Oracle数据库出现性能问题时,使用Oracle本身的工具 ...

  2. oracle sqladvisor,Oracle 11 sql tuning advisor sql access advisor关闭以及job查看与停止

    Oracle11g自动维护任务 参考博客:http://blog.itpub.net/12798004/viewspace-1247636/ # 自动收集优化器统计信息 收集数据库所有schema没有 ...

  3. oracle access advisor,使用Oracle SQL Access Advisor改善数据库索引与物化视图

    当针对表集增加物化视图(materialized view)和索引时,理论上这些表的查询性能会得到改善.但事实上并不一定能达到理想的状态,因此Oracle推出了SQL Access Advisor工具 ...

  4. oracle access advisor,oracle11g新特性-SQL Access Advisor

    SQL Access Advisor 获得有关基于实际频率和使用类型(而非数据类型)进行分区.索引和创建物化视图以改进模式设计的建议. g 提供了大量帮助程序(或"顾问程序"),可 ...

  5. oracle中慢sql优化思路

    参考资料:官方文档SQL Tuning Guide https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/sql- ...

  6. Oracle SQL Access Advisor 说明

    一.说明 1.1 相关内容 在如下官方文档中提到了一些优化工具的说明: Monitoring and Tuning the Database http://docs.oracle.com/cd/E11 ...

  7. oracle sqladvisor,Oracle SQL Access Advisor 说明

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 --Task recommendation 是一个范围,从简单的建议到复杂的解决方案.当advisortask 执行时, ...

  8. 使用dbms_advisor来执行sql access advisor

    使用dbms_advisor来执行sql access advisor主要有以下几个步骤: 1.创建任务 2.定义工作量 3.生成建议 4.查看与实现建议 步骤1 创建任务 在任务建议被生成之前,必须 ...

  9. Oracle SQL Tuning Advisor 测试

    如果面对一个需要优化的SQL语句,没有很好的想法,可以先试试Oracle的SQL Tuning Advisor. SQL> select * from v$version;BANNER ---- ...

最新文章

  1. JAVA语言教学重点_《JAVA语言》教学大纲
  2. 联想正遭遇第四道坎 柳传志对症下药
  3. 怎样查看was的服务器信息,WAS 查看服务状态
  4. #pragma once与 #ifndef的区别为了避免同一个文件被include多次
  5. 数据挖掘提分三板斧!
  6. 3 描述android的组件,Android基础------Intent组件
  7. CentOS6.4将MySQL5.1升级至5.5.36
  8. 【VS2010学习笔记】【编程实例】 (含有类的动态链接库的封装和调用)
  9. 【华为_数通】常用命令备忘
  10. 一文看尽 2020 年谷歌 AI 重大突破
  11. 项目上线工作流程梳理
  12. go语言处理html文件,go语言操作文件实例笔记
  13. word将空格替换为逗号
  14. 火灾自动报警系统 切换模块
  15. codeforces 1293 A. ConneR and the A.R.C. Markland-N(思维)
  16. android 设置视频大小,android – 调整视频大小
  17. EF的基本了解(一)
  18. 前端面试题——计算机网络 高频
  19. tarjan算法与无向图的连通性(割点,桥,双连通分量,缩点)
  20. 洛谷P1460 健康的荷斯坦奶牛

热门文章

  1. 斯坦福cs224d(深度学习在自然语言处理上的应用)Lecture 2
  2. winscp下载很慢_winscp使用教程 两台电脑间传文件,winscp使用教程 两台电脑间传文件,软件介绍...
  3. CDA Level Ⅲ 模拟题(一)
  4. android 汉字拼音排序,Android拼音排序
  5. SWAT模型(建模方法、实例应用、高级进阶)技能提升
  6. 笔记:菜鸟教程-JavaScript
  7. Cocos2d-x 3.2 大富翁游戏项目开发-第五部分 单机游戏-关卡选择ScrollView
  8. 吉利发布新出行科技品牌“礼帽出行” 定位高品质定制化出行
  9. 怎样把一个价值5毛钱的苹果卖到100万?
  10. C语言 双色球 红蓝球出现概率模拟