转自:http://blog.itpub.net/35489/viewspace-764856/

1. sql 详细执行计划,主要检查驱动路径,索引是否合适;同一个pl/sql窗口连续执行即可;
explain plan for (select  *  from  HW_PC_SIGNED_COMPANY_V sc) ;
select * from table(dbms_xplan.display(null,null,'all'));

2. sql monitor,查看sql主要花在哪些时间,真实的行数和IO;三个sql依次执行;

SELECT /*+monitor*/ * from  HW_PC_SIGNED_COMPANY_V sc ; 
select * from v$sql s where s.SQL_TEXT like 'SELECT /*+monitor*/ * from  HW_PC_SIGNED%' ;  
select dbms_sqltune.report_sql_monitor('ftswqgup6hzxx') from dual ;

3. SQLT 
http://space.itpub.net/35489/viewspace-764348  
查看TXT文件。

4. SQL Profile 及使用SQL Tuning Advisor来尝试SQL调优 
http://space.itpub.net/35489/viewspace-747164

5. 10046 EVENT

trace 文件的格式都是 sid_ora_pid.trc  , 其中sid 表示数据库的instance name,  pid 表示 process id .

A. 可以在PL/SQL中加入如下的语句来进行trace .

EXECUTE IMMEDIATE 'ALTER SESSION SET timed_statistics=true' ; 
   EXECUTE IMMEDIATE 'ALTER SESSION SET max_dump_file_size=“unlimited”'; 
   EXECUTE IMMEDIATE 'ALTER SESSION SET TRACEFILE_IDENTIFIER=''TEST_TRACEFILE'''; 
   EXECUTE IMMEDIATE 'ALTER SESSION SET EVENTS ''10046 trace name context forever,level 8''';
  在最后加入如下语句执行 
   EXECUTE IMMEDIATE 'ALTER SESSION SET EVENTS ''10046  trace name context off'';

B. 使用10046 event 跟踪其他用户session :

对其他用户session设置  dbms_system.set_ev
说明:5个参数   sid/serial#/ev/level/username

Select sid,serial#   from v$session where username is not null ;
       SID    SERIAL# 
---------- ---------- -----
       113         227

或者通过spid查询sid, serial#  : 
SQL> select  b.*, a.*   from v$process a, v$session b 
          where a.addr = b.paddr and a.spid in (1914, 19140) ;

执行跟踪:
exec dbms_system.set_ev(113,227,10046,8,'');

结束跟踪:
exec dbms_system.set_ev(113,227,10046,0,'');

最后的trace文件都需要使用 tkprof 进行格式转化 
tkprof  xxx.trc  xxx.txt  explain=apps/passwd sort='(prsela,exeela,fchela)'

6.  SQL Trace
SQL> set autotrace traceonly
显示: expain+statistics(不显示数据)

几种常用的SQL优化工具及方法的更多相关文章

  1. 美团SQL优化工具SQLAdvisor

    介绍 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务.例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的 SQL 优化方式包括但不限于:业务层优化.SQL逻 ...

  2. sql优化工具--美团SQLAdvisor

    美团点评SQL优化工具SQLAdvisor开源 介绍 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务.例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的 S ...

  3. SQL优化工具SQLAdvisor使用

    一.简介在数据库运维过程中,优化SQL是业务团队与DBA团队的日常任务.例行SQL优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的SQL优化方式包括但不限于:业务层优化.SQL逻辑优 ...

  4. 美团开源 SQL 优化工具 SQLAdvisor

    https://www.oschina.net/news/82725/sqladvisor-opensource https://github.com/Meituan-Dianping/SQLAdvi ...

  5. SQL优化工具SQLAdvisor使用(转)

    一.简介 在数据库运维过程中,优化SQL是业务团队与DBA团队的日常任务.例行SQL优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的SQL优化方式包括但不限于:业务层优化.SQL逻辑 ...

  6. Oracle 10G强大的SQL优化工具:SQL Tuning Advisor

    p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; orphans: 2; widow ...

  7. SQL优化工具

    SQL优化工具 什么是索引? 打个比方,我们在使用MySQL用作查询的时候就好比查字典,索引就好比字典的偏旁部首页.如果没有索引我们查询一个文字就需要一页页的翻,显然这种方式效率很低.如果我们对某一字 ...

  8. 【SQL优化】SQL优化工具

    SQLAdvisor 是由美团点评公司北京DBA团队开发维护的 SQL 优化工具:输入SQL,输出索引优化建议. 它基于 MySQL 原生词法解析,再结合 SQL 中的 where 条件以及字段选择度 ...

  9. 美团点评SQL优化工具SQLAdvisor开源快捷部署

    美团点评SQL优化工具SQLAdvisor开源快捷部署 git clone https://github.com/Meituan-Dianping/SQLAdvisor.gityum install ...

随机推荐

  1. tab标签

    <ul class="nav nav-tabs" role="tablist" role="tablist" id="myT ...

  2. Qt 自定义事件的实现

    初学Qt,用了Qt自带的事件,然后想怎么才能定义自己的事件呢?又如何使用自定义事件呢?看了篇文章,说先要子类化QEvent,然后定义自己的QEvent::Type,然后重写QWidget::event ...

  3. 如何对抗、预防 SQL注入 攻击

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  4. Openfire配置过程,以及与php交互注意事项。

    Ben Werdmuller 是一位 Web 策划师和开发人员,他专注于开放源码平台.他是开源社交网络框架 Elgg 的共同创始人和技术带头人.Ben 的博客 http://benwerd.com/. ...

  5. BCM_GPIO驱动测试

    在写内核驱动的时候,最好先在uboot上,进行裸板测试,验证寄存器,再移植到内核中,这样可以熟悉寄存器,也排除内核中的一些干扰. /********************************** ...

  6. endl的读法

    endl是“end line”的缩写,所以它应该念作“endELL”而不是“endONE”.

  7. [转]NMON服务器监控、指标说明

    一.NMON中的各项参数指标: SYS_SUMM:显示当前服务器的总体性能情况 Total System I/OStatistics:Avg tps during an interval:显示采集间隔 ...

  8. 简易2D横版RPG游戏制作

    Unity学习笔记1 简易2D横版RPG游戏制作 http://m.blog.csdn.net/article/details?id=24601905

  9. (转)Linux开启mysql远程连接的设置步骤

    Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下: 1.GRANT命令创建远程连接mysql授权用户itlogger mys ...

  10. 安装SQL Server 2008数据库(带完整图解)

    方法/步骤   1 双击sql server 2008的.exe安装文件,进入[SQL Server 安装中心]. 2 点击界面左侧的[安装],然后点击右侧的[全新SQL Server 独立安装或向现 ...