SQL Tuning 基础概述01 - autotrace的设定

1.autotrace的设定

SQL> set autotrace
Usage: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
set autot on
--打开autotrace,之后执行的sql,会显示sql执行结果、执行计划、统计信息

set autot on exp
--会显示sql执行结果、执行计划

set autot on stat
--会显示sql执行结果、统计信息

set autot trace
--只显示执行计划、统计信息

set autot trace exp
--只显示执行计划(可能不准,sql查询并没有真正执行)

set autot trace stat
--只显示统计信息

set autot off
--关闭autotrace

2.实验验证 set autot trace exp 没有真正执行查询类sql:

SQL> set autot trace exp
SQL> select * from t_jingyu;
Elapsed: 00:00:00.04

Execution Plan
----------------------------------------------------------
Plan hash value: 2809386205

------------------------------------------------------------------------------
| Id  | Operation         | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |          |  1864K|    69M|   981   (2)| 00:00:12 |
|   1 |  TABLE ACCESS FULL| T_JINGYU |  1864K|    69M|   981   (2)| 00:00:12 |
------------------------------------------------------------------------------

Note
-----
   - dynamic sampling used for this statement (level=2)

SQL> set autot trace
SQL> select * from t_jingyu;

2097152 rows selected.

Elapsed: 00:00:24.89

Execution Plan
----------------------------------------------------------
Plan hash value: 2809386205

------------------------------------------------------------------------------
| Id  | Operation         | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |          |  1864K|    69M|   981   (2)| 00:00:12 |
|   1 |  TABLE ACCESS FULL| T_JINGYU |  1864K|    69M|   981   (2)| 00:00:12 |
------------------------------------------------------------------------------

Note
-----
   - dynamic sampling used for this statement (level=2)

Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
     143066  consistent gets
       3484  physical reads
          0  redo size
   51171186  bytes sent via SQL*Net to client
    1538429  bytes received via SQL*Net from client
     139812  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
    2097152  rows processed

SQL> --试验表明set autot trace exp不真正执行sql显示的执行计划,set autot trace 执行了sql显示的执行计划。

SQL Tuning 基础概述01 - autotrace的设定

时间: 2024-10-13 23:14:30

SQL Tuning 基础概述01 - autotrace的设定的相关文章

SQL Tuning 基础概述10

在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描,单块读,有序INDEX RANGE SCAN:索引的范围扫描INDEX FAST FULL SCAN:索引的快速全扫描,多块读,无序INDEX FULL SCAN(MIN/MAX):针对MAX(),MIN()函数的查询INDEX SKIP SCAN:查询条件没有用到组合索引的第一列,而组合索引的第一列重复度

SQL Tuning 基础概述08 - SQL Tuning Advisor

SQL调优顾问 SQL Tuning Advisor的使用案例: 1.构建测试表T SQL> conn zjy/zjy Connected. SQL> create table t as select * from dba_objects; Table created. SQL> select count(*) from t; COUNT(*) ---------- 653500 2.对“select owner, object_id, object_name from t where

SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session set tracefile_identifier = jytrace; //设定trace文件的标识符 alter session set sql_trace = false; //结束sql_trace 1.2 其他session跟踪:(根据其他session的sid, serial#定位,最常

SQL Tuning 基础概述05 - Oracle 索引类型及介绍

一.B-Tree索引 三大特点:高度较低.存储列值.结构有序 1.1利用索引特性进行优化 外键上建立索引:不但可以提升查询效率,而且可以有效避免锁的竞争(外键所在表delete记录未提交,主键所在表会被锁住). 统计类查询SQL:count(), avg(), sum(), max(), min() 排序操作:order by字段建立索引 去重操作:distinct UNION/UNION ALL:union all不需要去重,不需要排序 1.2联合索引    应用场景一:SQL查询列很少,建立

SQL Tuning 基础概述06 - 表的连接方式:Nested Loops Join,Merge Sort Join &amp; Hash Join

nested loops join 嵌套循环 merge sort join 排序合并 hash join 哈希连接 nested loops join(嵌套循环)   驱动表返回几条结果集,被驱动表访问多少次,有驱动顺序,无须排序,无任何限制. 驱动表限制条件有索引,被驱动表连接条件有索引. hints:use_nl() merge sort join(排序合并)   驱动表和被驱动表都是最多访问1次,无驱动顺序,需要排序(SORT_AREA_SIZE),连接条件是<>或like导致无法使用

SQL Tuning 基础概述02 - explain plan的使用

1.explain plan的使用 SQL> explain plan for delete from t_jingyu; Explained. SQL> select * from table(dbms_xplan.display); PLAN_TABLE_OUTPUT ----------------------------------------------------------------------------------------------------------------

SQL Tuning 基础概述07 - SQL Joins

N多年之前,刚刚接触SQL的时候,就被多表查询中的各种内连接,外连接,左外连接,右外连接等各式各样的连接弄的晕头转向. 更坑的是书上看到的各种表连接还有两种不同的写法, 比如对于表A,表B的查询 1,内连接两种写法: select * from A, B where A.id = B.id; select * from A join B on A.id = B.id; 2,右外连接写法: select * from A, B where A.id(+) = B.id; select * from

SQL Tuning 基础概述04 - Oracle 表的类型及介绍

Tables A table describes an entity such as employees. You define a table with a table name, such as employees, and set of columns. In general, you give each column a name, a data type, and a width when you create the table. 1.普通堆表(Heap-Organized Tabl

初次使用SQL调优建议工具--SQL Tuning Advisor

在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包. 使用STA一定要保证优化器是CBO模式下.可是我觉得使用这样的工具,仅适合全然不懂SQL的调优的人群,不要觉得工具能解决好问题. SQL说究竟是表达的是一个业务,工具怎么可能理解业务.SQL调优还是要用autotrace,10046,10053,display_cursor这些优秀的工具做诊断.然后依据业务和所具备的oracle基础的知识