无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

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

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

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

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

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

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

    執(zhí)行EXPLAIN PLAN FOR 可以只顯示執(zhí)行計劃,然后執(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)計信息)

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

    4、AUTOTRACE的幾個常用選項  

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


    (1). set autotrace on explain; --只顯示執(zhí)行計劃
    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)計信息
    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;--比較實用的選項,只顯示執(zhí)行計劃,但是與set autotrace on explain;相比不會執(zhí)行語句,對于僅僅查看大表的Explain Plan非常管用。
    SQL> set autotrace traceonly explain;
    SQL> select * from dba_objects;
    已用時間: 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)計信息,比較耗時;estimate收集一部分?jǐn)?shù)據(jù)行的統(tǒng)計信息)

    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';


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

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

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

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