oracle的表分析語句

47328983發表於2011-04-25

分析表語句:

  dbms_stats.gather_table_stats(user,'table',method_opt=>'for all indexed columns size 254',granularity=>'ALL',cascade=>TRUE);

dbms_stats.gather_index_stats(user,'index',degree=>2,granularity=>'ALL');

 

轉載:作用:DBMS_STATS.GATHER_TABLE_STATS統計表,列,索引的統計資訊.

DBMS_STATS.GATHER_TABLE_STATS的語法如下:

DBMS_STATS.GATHER_TABLE_STATS (   ownname          VARCHAR2,     tabname          VARCHAR2,     partname         VARCHAR2,   estimate_percent NUMBER,     block_sample     BOOLEAN,   method_opt       VARCHAR2,   degree           NUMBER,   granularity      VARCHAR2,     cascade          BOOLEAN,   stattab          VARCHAR2,     statid           VARCHAR2,   statown          VARCHAR2,   no_invalidate    BOOLEAN,   force            BOOLEAN);

引數說明:

ownname:要分析表的擁有者

tabname:要分析的表名.

partname:分割槽的名字,只對分割槽表或分割槽索引有用.

estimate_percent:取樣行的百分比,取值範圍[0.000001,100],null為全部分析,不取樣. 常量:DBMS_STATS.AUTO_SAMPLE_SIZE是預設值,由oracle決定最佳取取樣值.

block_sapmple:是否用塊取樣代替行取樣.

method_opt:決定histograms資訊是怎樣被統計的.method_opt的取值如下:

for all columns:統計所有列的histograms.

for all indexed columns:統計所有indexed列的histograms.

for all hidden columns:統計你看不到列的histograms

for columns SIZE | REPEAT | AUTO | SKEWONLY:統計指定列的histograms.N的取值範圍[1,254]; REPEAT上次統計過的histograms;AUTO由oracle決定N的大小;SKEWONLY multiple end-points with the same value which is what we define by "there is skew in the data

degree:決定並行度.預設值為null.

granularity:Granularity of statistics to collect ,only pertinent if the table is partitioned.

cascace:是收集索引的資訊.預設為falase.

stattab指定要儲存統計資訊的表,statid假如多個表的統計資訊儲存在同一個stattab中用於進行區分.statown儲存統計資訊表的擁有者.以上三個引數若不指定,統計資訊會直接更新到資料字典.

no_invalidate: Does not invalidate the dependent cursors if set to TRUE. The procedure invalidates the dependent cursors immediately if set to FALSE.

force:即使表鎖住了也收集統計資訊.

例子:

execute dbms_stats.gather_table_stats(ownname => 'owner',tabname => 'table_name' ,estimate_percent => null ,method_opt => 'for all indexed columns' ,cascade => true);

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/241379/viewspace-693690/,如需轉載,請註明出處,否則將追究法律責任。

相關文章