什麼是統計資訊以及收集查看方法,統計資訊收集查看

來源:互聯網
上載者:User

什麼是統計資訊以及收集查看方法,統計資訊收集查看
概念:oracle的統計資訊:儲存在資料字典裡,且從多個維度描述了Oracle資料庫裡對象的詳細資料。CBO會利用這些統計資訊來計算各條路徑的成本。
分類:表、索引、列、系統、資料字典、內部對象的統計資訊
收集統計資訊:ANALYZE 命令和DBMS_STATS包。表、索引、列、資料字典都可以用兩個。系統、內部對象只能用DBMS_STATS。
1、ANALYZE analyze table PROC_PROGRESS_LOG delete statistics; --刪除統計資訊analyze table PROC_PROGRESS_LOG estimate statistics sample 15 percent for table ; --估算模式,採樣比例15%(估算結果和實際結果不一定會完全符合)analyze table PROC_PROGRESS_LOG compute statistics;--計算模式
select * from dba_tables where table_name = 'PROC_PROGRESS_LOG'; --查看錶相關資訊select * from USER_TAB_COLUMNS where TABLE_NAME='PROC_PROGRESS_LOG'--查看列相關資訊
analyze table PROC_SMCS compute statistics for columns service_id , channel_id ; --對列進行計算模式的統計資訊收集執行完成之後,service_id , channel_id 確實已經有統計資訊了,但是PROC_SMCS 表中的統計資訊將會被抹掉。也就是說,對同一個對象而言,新執行的analyze 命令會抹掉之前的analyze 的結果。
如果想一次性以計算模式收集表、表上的列、和表上的索引的統計資訊,執行:analyze table PROC_PROGRESS_LOG compute statistics;
用DBMS_STATS包收集統計資訊官方推薦,oracle 8.1.5之後才有,看成是analyze的增強版1、GATHER_TABLE_STATS:用於收集目標表、目標表的列和索引的統計資訊。2、GATHER_INDEX_STATS:收集索引的。3、GATHER_SCHEMA_STATS:收集指定schema下的所有對象的。4、GATHER_DATABASE_STATS:收集全庫所有對象的。
exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 15,method_opt => 'FOR TABLE',cascade => false);只有PROC_LETTER表有統計資訊,列和索引沒有。method_opt => 'FOR TABLE' 只適合11g以上版本,10以下的,還會收集列和索引的資訊。如果採用計算模式,將estimate_percent => 15 設定成100或者NULL
exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 100,method_opt => 'FOR columns size 1 service_id channel_id',cascade => false);以計算模式收集 service_id channel_id的統計資訊,同時PROC_LETTER表上也會有統計資訊。DBMS_STATS做不到只收集列的統計資訊而不收集表的統計資訊。
exec dbms_stats.delete_table_stats(ownname => 'TEST' , tabname => 'PROC_LETTER');刪除統計資訊。
exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 100,cascade => false); 一次性統計表、列、索引資訊。
analyze 和 dbms_stats的區別:1、analyze 不能正確收集分區表的統計資訊,而dbms_stats可以。2、analyze 不能並行收集統計資訊,而dbms_stats可以。exec dbms_stats.gather_table_stats(ownname => 'TEST',tabname=>'PROC_LETTER',estimate_percent => 100,cascade => false,degree=4); --並行度為43、dbms_stats不能收集與CBO無關的額外資訊,如行遷移/行連結的數量、校正表和索引的結構資訊。analyze table XXX list chained rows into YYY --分析收集行遷移/行連結的數量analyze index XXX validate structure 分析索引的結構
統計資料收集的最好辦法

計數,表聞,統計圖。
計數是將數字記錄下來後再整理好。
表聞選好要用的表,或是從一些表中的到知料。
統計圖如折線統計圖、扇形統計圖、條形統計圖。
 
在統計活動中,收集資料的方法有什

普查、重點調查、典型調查、抽樣調查、統計報表制度等。具體收集統計資料的調查方法有訪問法、觀察法、報告法等
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.