Oracle analyze table

24175 단어 --------1.1ORACLE
Oacle 의 온라인 문 서 는 analyst 의 역할 을 설명 합 니 다. Use the ANALYZE statement to collect non - optimizer statistics, for example, to:
Collect or delete statistics about an index or index partition, table or table partition, index-organized table, cluster, or scalar object attribute. Validate the structure of an index or index partition, table or table partition, index-organized table, cluster, or object reference (REF). Identify migrated and chained rows of a table or cluster.
dbms_stats 의 역할 은 주로 analysis 의 통계 정 보 를 수집 하 는 기능 을 대체 하고 이 방면 에서 상당 한 강 화 를 했다.
분석 table abc compute statistics 로;이 예 를 들 어 생 성 된 통계 정 보 는 user 에 존재 합 니 다.tables 이 보기, select * from usertables where table_name=’ABC’; NUM 관찰ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN 몇 열 은 이것 이 변화 라 는 것 을 알 게 될 것 이다.
통계 정 보 를 수집 하 는 목적 은 CBO 기반 실행 계획 을 더욱 정확하게 하기 위 한 것 이다.
  Oracle analyze table      .   Oracle analyze table      .
analyze table         :  ,    ,      ,    。           。
SQL> analyze table my_table compute statistics;  
SQL> analyze table my_table compute statistics for table for all indexes for all columns;   
SQL> analyze table my_table compute statistics for table for all indexes for all indexed columns;  
  :
SQL> analyze table my_table compute statistics;  
   :
SQL> analyze table my_table compute statistics for table for all indexes for all columns;   
sample:
analyze table t1 compute statistics for table;
analyze table t2 compute statistics for all columns;
analyze table t3 compute statistics for all indexed columns;
analyze table t5 compute statistics for all indexes; 
analyze table t4 compute statistics;     (   )
  ,        :
SQL> analyze table my_table delete statistics;
SQL> analyze table my_table delete statistics for table for all indexes for all indexed columns;  
http://wfly2004.blog.163.com/blog/static/1176427201042891042233/
         t1,t2,t3,t4,          
         
  :
create table t1 as select * from user_objects;
create table t2 as select * from user_objects;
create table t3 as select * from user_objects;
create table t4 as select * from user_objects;
create unique index pk_t1_idx on t1(object_id);
create unique index pk_t2_idx on t2(object_id);
create unique index pk_t3_idx on t3(object_id);
create unique index pk_t4_idx on t4(object_id);
                   ( ,  ,  ) 
         
  :
--        
select table_name,num_rows,blocks,empty_blocks from user_table where table_names in ('T1','T2','T3','T4');
TABLE_NAME        NUM_ROWS        BLOCKS        EMPTY_BLOCKS
T1                        
T2                        
T3                        
T4                       
--         
select table_name,column_name,num_distinct,low_value,high_value,density from user_tab_columns where table_name in ('T1','T2','T3','T4');
TABLE_NAME        COLUMN_NAME        NUM_DISTINCT        LOW_VALUE        HIGH_VALUE        DENSITY
T1        OBJECT_NAME                                
T1        SUBOBJECT_NAME                                
T1        OBJECT_ID                                
T1        DATA_OBJECT_ID                                
T1        OBJECT_TYPE                                
T1        CREATED                                
T1        LAST_DDL_TIME                                
T1        TIMESTAMP                                
T1        STATUS                                
T1        TEMPORARY                                
T1        GENERATED                                
T1        SECONDARY                                
T2        OBJECT_NAME                                
T2        SUBOBJECT_NAME                                
T2        OBJECT_ID                                
T2        DATA_OBJECT_ID                                
T2        OBJECT_TYPE                                
T2        CREATED                                
T2        LAST_DDL_TIME                                
T2        TIMESTAMP                                
T2        STATUS                                
T2        TEMPORARY                                
T2        GENERATED                                
T2        SECONDARY                                
T3        OBJECT_NAME                                
T3        SUBOBJECT_NAME                                
T3        OBJECT_ID                                
T3        DATA_OBJECT_ID                                
T3        OBJECT_TYPE                                
T3        CREATED                                
T3        LAST_DDL_TIME                                
T3        TIMESTAMP                                
T3        STATUS                                
T3        TEMPORARY                                
T3        GENERATED                                
T3        SECONDARY                                
T4        OBJECT_NAME                                
T4        SUBOBJECT_NAME                                
T4        OBJECT_ID                                
T4        DATA_OBJECT_ID                                
T4        OBJECT_TYPE                                
T4        CREATED                                
T4        LAST_DDL_TIME                                
T4        TIMESTAMP                                
T4        STATUS                                
T4        TEMPORARY                                
T4        GENERATED                                
T4        SECONDARY                               
--         
select table_name,index_name,blevel,leaf_blocks,distinct_keys,
        avg_leaf_blocks_per_key avg_leaf_blocks,avg_data_blocks_per_key avg_data_blocks,clustering_factor,num_rows
from user_indexes where table_name in ('T1','T2','T3','T4');
TABLE_NAME        INDEX_NAME        BLEVEL        LEAF_BLOCKS        DISTINCT_KEYS        AVG_LEAF_BLOCKS        AVG_DATA_BLOCKS        CLUSTERING_FACTOR        NUM_ROWS
T1        PK_T1_IDX                                                        
T2        PK_T2_IDX                                                        
T3        PK_T3_IDX                                                        
T4        PK_T4_IDX          
                analyze table   
        
  :
analyze table t1 compute statistics for table;
analyze table t2 compute statistics for all columns;
analyze table t3 compute statistics for all indexed columns;
analyze table t4 compute statistics;
          oracle            
         
  :
--          
select table_name,num_rows,blocks,empty_blocks from user_tables where table_name in ('T1','T2','T3','T4');
TABLE_NAME        NUM_ROWS        BLOCKS        EMPTY_BLOCKS
T1        3930        55        1
T2                        
T3                        
T4        3933        55        1
--          ,     analyze table      for table            ,oracle                  
--             
select table_name,column_name,num_distinct,low_value,high_value,density from user_tab_columns where table_name in ('T1','T2','T3','T4');
TABLE_NAME        COLUMN_NAME        NUM_DISTINCT        LOW_VALUE        HIGH_VALUE        DENSITY
T1        OBJECT_NAME                                
T1        SUBOBJECT_NAME                                
T1        OBJECT_ID                                
T1        DATA_OBJECT_ID                                
T1        OBJECT_TYPE                                
T1        CREATED                                
T1        LAST_DDL_TIME                                
T1        TIMESTAMP                                
T1        STATUS                                
T1        TEMPORARY                                
T1        GENERATED                                
T1        SECONDARY                                
T2        OBJECT_NAME        3823        41423030        D3F1BBB736D4C2B7DDCFFABBA7C7E5B5A5        .000270447891062615
T2        SUBOBJECT_NAME        77        503031        52455354        .012987012987013
T2        OBJECT_ID        3930        C304062D        C30F4619        .000254452926208651
T2        DATA_OBJECT_ID        3662        C304062D        C30F4619        .000273074822501365
T2        OBJECT_TYPE        15        4441544142415345204C494E4B        56494557        .000127194098193844
T2        CREATED        3684        7867081E111F33        7868071211152F        .000547559423988464
T2        LAST_DDL_TIME        3574        7867081E11251B        7868071211152F        .000565522924083892
T2        TIMESTAMP        3649        323030332D30382D33303A31363A33303A3530        323030342D30372D31383A31363A32303A3436        .000559822349362313
T2        STATUS        2        494E56414C4944        56414C4944        .000127194098193844
T2        TEMPORARY        2        4E        59        .000127194098193844
T2        GENERATED        2        4E        59        .000127194098193844
T2        SECONDARY        2        4E        59        .000127194098193844
T3        OBJECT_NAME                                
T3        SUBOBJECT_NAME                                
T3        OBJECT_ID        3931        C304062D        C30F461A        .000254388196387688
T3        DATA_OBJECT_ID                                
T3        OBJECT_TYPE                                
T3        CREATED                                
T3        LAST_DDL_TIME                                
T3        TIMESTAMP                                
T3        STATUS                                
T3        TEMPORARY                                
T3        GENERATED                                
T3        SECONDARY                                
T4        OBJECT_NAME        3825        41423030        D3F1BBB736D4C2B7DDCFFABBA7C7E5B5A5        .000261437908496732
T4        SUBOBJECT_NAME        77        503031        52455354        .012987012987013
T4        OBJECT_ID        3932        C304062D        C30F461B        .000254323499491353
T4        DATA_OBJECT_ID        3664        C304062D        C30F461B        .00027292576419214
T4        OBJECT_TYPE        15        4441544142415345204C494E4B        56494557        .0666666666666667
T4        CREATED        3685        7867081E111F33        78680712111530        .000271370420624152
T4        LAST_DDL_TIME        3575        7867081E11251B        78680712111530        .00027972027972028
T4        TIMESTAMP        3650        323030332D30382D33303A31363A33303A3530        323030342D30372D31383A31363A32303A3437        .000273972602739726
T4        STATUS        2        494E56414C4944        56414C4944        .5
T4        TEMPORARY        2        4E        59        .5
T4        GENERATED        2        4E        59        .5
T4        SECONDARY        2        4E        59        .5
/*
            ,oracle    t2,t4            .
  t3 object_id(    )      .
      ,
   for all columns            oracle           ,   for indexed columns ,oracle  [b]              [/b],                  ,         .
*/
--            
select table_name,index_name,blevel,leaf_blocks,distinct_keys,
        avg_leaf_blocks_per_key avg_leaf_blocks,avg_data_blocks_per_key avg_data_blocks,clustering_factor,num_rows
from user_indexes where table_name in ('T1','T2','T3','T4');
TABLE_NAME        INDEX_NAME        BLEVEL        LEAF_BLOCKS        DISTINCT_KEYS        AVG_LEAF_BLOCKS        AVG_DATA_BLOCKS        CLUSTERING_FACTOR        NUM_ROWS
T1        PK_T1_IDX                                                        
T2        PK_T2_IDX                                                        
T3        PK_T3_IDX                                                        
T4        PK_T4_IDX        1        9        3932        1        1        2143        3932
--         ,   t4       .
--            ,     analyze table        ,oracle               ( ,  ,        )
  ,truncate           
         
  :
truncate table t1;
truncate table t2;
truncate table t3;
truncate table t4;
--              
select table_name,num_rows,blocks,empty_blocks from user_tables where table_name in ('T1','T2','T3','T4');
TABLE_NAME        NUM_ROWS        BLOCKS        EMPTY_BLOCKS
T1        3930        55        1
T2                        
T3                        
T4        3933        55        1
--       
select table_name,index_name,blevel,leaf_blocks,distinct_keys,
        avg_leaf_blocks_per_key avg_leaf_blocks,avg_data_blocks_per_key avg_data_blocks,clustering_factor,num_rows
from user_indexes where table_name in ('T1','T2','T3','T4');
TABLE_NAME        INDEX_NAME        BLEVEL        LEAF_BLOCKS        DISTINCT_KEYS        AVG_LEAF_BLOCKS        AVG_DATA_BLOCKS        CLUSTERING_FACTOR        NUM_ROWS
T1        PK_T1_IDX                                                        
T2        PK_T2_IDX                                                        
T3        PK_T3_IDX                                                        
T4        PK_T4_IDX        1        9        3932        1        1        2143        3932
--             
analyze table t1 compute statistics for table;
analyze table t2 compute statistics for all columns;
analyze table t3 compute statistics for all indexed columns;
analyze table t4 compute statistics;
--               
select table_name,num_rows,blocks,empty_blocks,initial_extent,'8192' block_size from user_tables where table_name in ('T1','T2','T3','T4');
TABLE_NAME        NUM_ROWS        BLOCKS        EMPTY_BLOCKS        INITIAL_EXTENT        BLOCK_SIZE
T1        0        0        8        65536        8192
T2                                65536        8192
T3                                65536        8192
T4        0        0        8        65536        8192
--       
select table_name,index_name,blevel,leaf_blocks,distinct_keys,
        avg_leaf_blocks_per_key avg_leaf_blocks,avg_data_blocks_per_key avg_data_blocks,clustering_factor,num_rows
from user_indexes where table_name in ('T1','T2','T3','T4');
TABLE_NAME        INDEX_NAME        BLEVEL        LEAF_BLOCKS        DISTINCT_KEYS        AVG_LEAF_BLOCKS        AVG_DATA_BLOCKS        CLUSTERING_FACTOR        NUM_ROWS
T1        PK_T1_IDX                                                        
T2        PK_T2_IDX                                                        
T3        PK_T3_IDX                                                        
T4        PK_T4_IDX        0        0        0        0        0        0        0
--      ,truncate             ,
--         CBO                ,         analyze    dbms_stats           
  : OralceRac

좋은 웹페이지 즐겨찾기