<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Neil的備忘錄

    just do it
    posts - 66, comments - 8, trackbacks - 0, articles - 0

    Create statistics

    Since Oracle 8i the Cost Based Optimizer (CBO) is the preferred optimizer for Oracle.
    In order to make good use of the CBO, you need to create statistics for the data in the database. There are several options to create statistics.

    Analyze command

    The ANALYZE command is available for all versions of Oracle, however to obtain faster and better statistics use the procedures supplied - in 7.3.4 and 8.0 DBMS_UTILITY.ANALYZE_SCHEMA,
    and in 8i and above - DBMS_STATS.GATHER_SCHEMA_STATS The analyze table can be used to create statistics for 1 table, index or cluster.
    Syntax:
    ANALYZE table tableName {compute|estimate|delete) statistics options
    ANALYZE table indexName {compute|estimate|delete) statistics options
    ANALYZE cluster clusterName {compute|estimate|delete) statistics options

    Code examples 

    ANALYZE table scott compute statistics;
    ANALYZE table scott estimate statistics sample 25 percent;
    ANALYZE table scott estimate statistics sample 1000 rows;
    analyze index sc_idx compute statistics;
    analyze index sc_idx validate structure;

    DBMS_UTILITY.ANALYZE_SCHEMA

    With DBMS_UTILITY.ANALYZE_SCHEMA you can gather all the statistics for all the tables, clusters and indexes of a schema.
    Code examples
    exec DBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','COMPUTE');
    exec DBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','ESTIMATE', estimate_rows =>
    1000);
    exec DBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','ESTIMATE', estimate_percent
    => 25);
    exec DBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','DELETE');
    Note: It's also possible to analyze the whole database with the DBMS_UTILITY.ANALYZE_DATABASE('COMPUTE'); command.

    DBMS_STATS.GATHER_SCHEMA_STATS

    From Oracle 8i the DBMS_STATS package is the preferred method Oracle list a number of benefits to using it including parallel execution, long term storage of statistics and transfer of statistics between servers. Once again, it follows a similar format to the other methods:
    Syntax:
    exec DBMS_STATS.GATHER_SCHEMA_STATS(ownname,estimate_percent, block_sample , method_opt,degree,granularity,cascade,stattab, statid,options,statown ,no_invalidate, gather_temp,gather_fixed);
    Code examples:

    exec
    DBMS_STATS.GATHER_SCHEMA_STATS('SCOTT',DBMS_STATS.AUTO_SAMPLE_SIZE);
    exec
    DBMS_STATS.GATHER_SCHEMA_STATS(ownname=>'SCOTT'
    ,estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE);
    EXEC DBMS_STATS.gather_schema_stats(ownname => 'SCOTT',
    estimate_percent => 25);
    EXEC DBMS_STATS.gather_table_stats('SCOTT', 'EMPLOYEES');
    EXEC DBMS_STATS.gather_index_stats('SCOTT', 'EMPLOYEES_PK');

    exec DBMS_STATS.DELETE_SCHEMA_STATS('SCOTT');

    Note: It's also possible to gather statistics for the whole database with the DBMS_STATS.gather_database_stats; command.

    Transfering statistics between database.

    It can be very handy to use production statistics on your development database, so that you can forecast the optimizer behavior.

    You can do this the following way:

    1. Create the statistics table.
    exec DBMS_STATS.CREATE_STAT_TABLE(ownname =>'SCHEMA_NAME' ,stat_tab => 'STATS_TABLE' , tblspace => 'STATS_TABLESPACE');
    Example:
    exec DBMS_STATS.CREATE_STAT_TABLE(ownname =>'SYSTEM',stat_tab => 'STATS_TABLE');

    2. Export statistics to statistics table
    EXEC DBMS_STATS.EXPORT_SCHEMA_STATS('ORIGINAL_SCHEMA' ,'STATS_TABLE',NULL,'SYSTEM');

    3. Import statistics into the data dictionary.
    exec DBMS_STATS.IMPORT_SCHEMA_STATS('NEW_SCHEMA','STATS_TABLE',NULL,'SYSTEM');

    4. Drop the statistics table.
    exec DBMS_STATS.DROP_STAT_TABLE('SYSTEM','STATS_TABLE');

    原文地址: http://www.oradev.com/create_statistics.jsp

    Feedback

    # re: Create statistics for the oracle cost based optimizer  回復  更多評論   

    2009-01-16 11:13 by Neil's NoteBook
    wow , super power !

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产91成人精品亚洲精品| 亚洲精品91在线| 日本免费精品一区二区三区 | 国产伦一区二区三区免费 | 中文字幕亚洲精品资源网| 久久精品国产免费一区| 久久精品国产亚洲av麻豆| 免费看搞黄视频网站| 久久久久亚洲AV成人无码网站| 国产一精品一av一免费爽爽| 亚洲av无码国产精品夜色午夜 | 亚洲国产精品嫩草影院久久| 成人久久久观看免费毛片| 亚洲真人日本在线| 中文字幕在线免费视频| 亚洲精品国精品久久99热一| 久久aⅴ免费观看| 亚洲成人动漫在线观看| 嫩草影院免费观看| 国产成人亚洲毛片| 国产精品亚洲产品一区二区三区| 99久久国产精品免费一区二区| 亚洲成在人天堂在线| 桃子视频在线观看高清免费完整| 亚洲中文字幕一二三四区| 婷婷综合缴情亚洲狠狠尤物| a级毛片在线免费观看| 91亚洲性爱在线视频| 国产一级理论免费版| 中文字幕在线免费看| 亚洲一区二区三区深夜天堂| 国产精品国产自线拍免费软件| 国产激情久久久久影院老熟女免费| 亚洲av日韩av高潮潮喷无码| 扒开双腿猛进入爽爽免费视频| 免费在线观看一区| 亚洲综合无码一区二区三区| 国产精品jizz在线观看免费| 四虎国产精品永久免费网址 | 中文字幕亚洲精品无码| 亚洲国产一成久久精品国产成人综合|