亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

Oracle執(zhí)行計(jì)劃與統(tǒng)計(jì)信息的一些總結(jié)

發(fā)布時(shí)間:  2012/8/26 15:26:32

2010-07-01 15:03
1、SET AUTOTRACE ON EXPLAIN
(set autot on exp)
SQLPLUS的命令,在執(zhí)行SQL語(yǔ)句的同時(shí)顯示執(zhí)行計(jì)劃,設(shè)置EXP(LAIN)的目的是只顯示執(zhí)行計(jì)劃而不顯示統(tǒng)計(jì)信息.。-
 

2、SQL>explain plan for select ````````;
SQL>select * from table(dbms_xplan.display);

執(zhí)行了set autotrace on explain語(yǔ)句之后,接下來(lái)的查詢、插入、更新、刪除語(yǔ)句就會(huì)顯示執(zhí)行計(jì)劃,直到執(zhí)行“set autotrace off;”語(yǔ)句。如果是設(shè)置了set autotrace on,除了會(huì)顯示執(zhí)行計(jì)劃之外,還會(huì)顯示一些有用的統(tǒng)計(jì)信息。

執(zhí)行EXPLAIN PLAN FOR 可以只顯示執(zhí)行計(jì)劃,然后執(zhí)行如下查詢

SQL> select * from table(dbms_xplan.display);

如:

SQL> explain plan for select * from emp where deptno='20';

Explained.

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3956160932

--------------------------------------------------------------------------
| Id   | Operation          | Name | Rows   | Bytes | Cost (%CPU)| Time      |
--------------------------------------------------------------------------
|    0 | SELECT STATEMENT   |       |      5 |    150 |      3    (0)| 00:00:01 |
|*   1 |   TABLE ACCESS FULL| EMP   |      5 |    150 |      3    (0)| 00:00:01 |
--------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

    1 - filter("DEPTNO"=20)

13 rows selected.

3、SQL>exec dbms_stats.delete_table_stats(USER,'表');(刪除表的統(tǒng)計(jì)信息)

SQL>exec dbms_stats.gather_table_stats(USER,'表',METHOD_OPT=>'FOR ALL COLUMNS SIZE 100')(收集表的統(tǒng)計(jì)信息)

4、AUTOTRACE的幾個(gè)常用選項(xiàng)  

       set autotrace off ---------------- 不生成autotrace 報(bào)告,這是缺省模式
set autotrace on explain ------ autotrace只顯示優(yōu)化器執(zhí)行路徑報(bào)告
set autotrace on statistics -- 只顯示執(zhí)行統(tǒng)計(jì)信息
set autotrace on ----------------- 包含執(zhí)行計(jì)劃和統(tǒng)計(jì)信息
set autotrace traceonly ------ 同set autotrace on,但是不顯示查詢輸


(1). set autotrace on explain; --只顯示執(zhí)行計(jì)劃
SQL> set autotrace on explain;
SQL>

select count(*) from dba_objects;

COUNT(*)
----------
    31820

Execution Plan
----------------------------------------------------------
  0      SELECT STATEMENT Optimizer=CHOOSE
  1    0   SORT (AGGREGATE)
  2    1     VIEW OF 'DBA_OBJECTS'
  3    2       UNION-ALL
  4    3         FILTER
  5    4           TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
  6    5             NESTED LOOPS
  7    6               TABLE ACCESS (FULL) OF 'USER$'
  8    6               INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)
  9    4           TABLE ACCESS (BY INDEX ROWID) OF 'IND$'
10    9             INDEX (UNIQUE SCAN) OF 'I_IND1' (UNIQUE)
11    3         NESTED LOOPS
12   11           TABLE ACCESS (FULL) OF 'USER$'
13   11           INDEX (RANGE SCAN) OF 'I_LINK1' (NON-UNIQUE)

(2). set autotrace on statistics;--只顯示統(tǒng)計(jì)信息
SQL> set autotrace on statistics;
SQL> select count(*) from dba_objects;

COUNT(*)
----------
    31820

Statistics
----------------------------------------------------------
         0 recursive calls
         0 db block gets
     25754 consistent gets
         0 physical reads
         0 redo size
       383 bytes sent via SQL*Net to client
       503 bytes received via SQL*Net from client
         2 SQL*Net roundtrips to/from client
         0 sorts (memory)
         0 sorts (disk)
         1 rows processed

(3). set autotrace traceonly;--同set autotrace on 只是不顯示查詢輸出
SQL> set autotrace traceonly;
SQL> select count(*) from dba_objects;

Execution Plan
----------------------------------------------------------
  0      SELECT STATEMENT Optimizer=CHOOSE
  1    0   SORT (AGGREGATE)
  2    1     VIEW OF 'DBA_OBJECTS'
  3    2       UNION-ALL
  4    3         FILTER
  5    4           TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
  6    5             NESTED LOOPS
  7    6               TABLE ACCESS (FULL) OF 'USER$'
 8    6               INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)
  9    4           TABLE ACCESS (BY INDEX ROWID) OF 'IND$'
10    9             INDEX (UNIQUE SCAN) OF 'I_IND1' (UNIQUE)
11    3         NESTED LOOPS
12   11           TABLE ACCESS (FULL) OF 'USER$'
13   11           INDEX (RANGE SCAN) OF 'I_LINK1' (NON-UNIQUE)

Statistics
----------------------------------------------------------
         0 recursive calls
         0 db block gets
     25754 consistent gets
         0 physical reads
         0 redo size
       383 bytes sent via SQL*Net to client
       503 bytes received via SQL*Net from client
         2 SQL*Net roundtrips to/from client
         0 sorts (memory)
         0 sorts (disk)
         1 rows processed

(4).set autotrace traceonly explain;--比較實(shí)用的選項(xiàng),只顯示執(zhí)行計(jì)劃,但是與set autotrace on explain;相比不會(huì)執(zhí)行語(yǔ)句,對(duì)于僅僅查看大表的Explain Plan非常管用。
SQL> set autotrace traceonly explain;
SQL> select * from dba_objects;
已用時(shí)間: 00: 00: 00.00

Execution Plan
----------------------------------------------------------
  0      SELECT STATEMENT Optimizer=CHOOSE
  1    0   VIEW OF 'DBA_OBJECTS'
  2    1     UNION-ALL
  3    2       FILTER
  4    3         TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'
  5    4           NESTED LOOPS
  6    5             TABLE ACCESS (FULL) OF 'USER$'
  7    5             INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)
  8    3         TABLE ACCESS (BY INDEX ROWID) OF 'IND$'
  9    8           INDEX (UNIQUE SCAN) OF 'I_IND1' (UNIQUE)
10    2       TABLE ACCESS (BY INDEX ROWID) OF 'LINK$'
11   10         NESTED LOOPS
12   11           TABLE ACCESS (FULL) OF 'USER$'
13   11           INDEX (RANGE SCAN) OF 'I_LINK1' (NON-UNIQUE)

5、analyze

analyze table hr.employees compute(estimate) statistics;(compute收集每一行數(shù)據(jù)的統(tǒng)計(jì)信息,比較耗時(shí);estimate收集一部分?jǐn)?shù)據(jù)行的統(tǒng)計(jì)信息)

select t.owner,t.table_name,t.tablespace_name,t.blocks,t.empty_blocks,t.avg_space
from dba_tables t
where t.owner='HR';


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線