Analyze分析表或者索引
Analyze分析表或者索引
demo:
[@more@]--62254 SELECT dt.table_name, dt.num_rows, dt.blocks, dt.empty_blocks AS empty, dt.avg_space, dt.chain_cnt, dt.avg_row_len, TO_CHAR( dt.LAST_ANALYZED, 'MM/DD/YYYY HH24:MI:SS' ) FROM dba_tables dt WHERE dt.owner = 'INV' AND dt.table_name = 'MTL_MATERIAL_TRANSACTIONS'; DECLARE v_num_rows NUMBER; v_num_blocks NUMBER; v_avg_row_len NUMBER; BEGIN -- retrieve the values of table statistics on INV.MTL_MATERIAL_TRANSACTIONS -- statistics table name: OE.SAVESTATS statistics ID: TEST1 sys.DBMS_STATS.get_table_stats( ownname => 'INV' ,tabname => 'MTL_MATERIAL_TRANSACTIONS' ,partname => NULL ,stattab => NULL ,statid => NULL ,numrows => v_num_rows ,numblks => v_num_blocks ,avgrlen => v_avg_row_len ,statown => NULL); -- print the values DBMS_OUTPUT.PUT_LINE( 'num_rows=' || v_num_rows || ',num_blocks=' || v_num_blocks || ',avg_row_len=' || v_avg_row_len); -- num_rows=62254,num_blocks=2975,avg_row_len=271 END; -- 對schema 進行gather DECLARE BEGIN sys.DBMS_STATS.gather_schema_stats(ownname => 'INV'); sys.DBMS_STATS.gather_schema_stats(ownname => 'GL'); sys.DBMS_STATS.gather_schema_stats(ownname => 'PO'); EXCEPTION WHEN OTHERS THEN dbms_output.put_line('error'); END;
參考文件:
怎麼樣分析表或索引 [A]命令列方式可以採用analyze命令 如 Analyze table tablename compute statistics; Analyze index|cluster indexname estimate statistics; ANALYZE TABLE tablename COMPUTE STATISTICS FOR TABLE FOR ALL [LOCAL] INDEXES FOR ALL [INDEXED] COLUMNS; ANALYZE TABLE tablename DELETE STATISTICS ANALYZE TABLE tablename VALIDATE REF UPDATE ANALYZE TABLE tablename VALIDATE STRUCTURE [CASCADE]|[INTO TableName] ANALYZE TABLE tablename LIST CHAINED ROWS [INTO TableName] 等等。 如果想分析整個使用者或資料庫,還可以採用工具包,可以並行分析 Dbms_utility(8i以前的工具包) Dbms_stats(8i以後提供的工具包) 如 dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE); dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true); 這是對命令與工具包的一些總結 1、對於分割槽表,建議使用DBMS_STATS,而不是使用Analyze語句。 a) 可以並行進行,對多個使用者,多個Table b) 可以得到整個分割槽表的資料和單個分割槽的資料。 c) 可以在不同級別上Compute Statistics:單個分割槽,子分割槽,全表,所有分割槽 d) 可以倒出統計資訊 e) 可以使用者自動收集統計資訊 2、DBMS_STATS的缺點 a) 不能Validate Structure b) 不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的資訊,這兩個仍舊需要使用Analyze語句。 c) DBMS_STATS 預設不對索引進行Analyze,因為預設Cascade是False,需要手工指定為True 3、對於oracle 9裡面的External Table,Analyze不能使用,只能使用DBMS_STATS來收集資訊
ref:
desd desc dbms_outln_edit
就知道啦,CREATE_EDIT_TABLES就是建立outln使用者的字典表的。 重建outln使用者
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7916042/viewspace-979149/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【實驗】【analyze】分析特定使用者的表和索引索引
- MySQL 5.7 ANALYZE TABLE分析索引的統計資訊MySql索引
- oracle 表分析和索引Oracle索引
- Oracle表與索引的分析及索引重建Oracle索引
- Oralce中分析表及索引索引
- oracle 定期表及索引分析Oracle索引
- Oracle表與索引的分析及索引重建(轉)Oracle索引
- 【DSL】Elasticsearch之Analyze(分析過程)Elasticsearch
- ORACLE分析表和索引的指令碼Oracle索引指令碼
- ANALYZE導致的阻塞問題分析
- dbms_stats與analyze分析彙總
- iOS效能調優之Analyze靜態分析iOS
- 【INDEX】索引失效或者不可用 UNUSABLEIndex索引
- 資料庫表,索引(索引組織表,聚簇表,聚簇索引,)資料庫索引
- 檢查是否存在truncate或者rebuild的索引Rebuild索引
- 索引分析索引
- oracle 索引分析及索引重建Oracle索引
- 有索引卻走全表掃描的實驗分析索引
- ORA-01658建立表或索引報錯分析索引
- chained rows analyzeAI
- ANALYZE INDEX clauseIndex
- 分析物件DBMS_UTILITY.ANALYZE_SCHEMA(8i以前版本)物件
- 使用 nuxi analyze 命令分析 Nuxt 應用的生產包UX
- 分析索引快速獲取索引資訊索引
- Oracle堆組織表的索引和索引組織表Oracle索引
- 【索引】使用索引分析快速得到索引的基本資訊索引
- Oracle表table與索引index的分析及索引重建及統計資訊匯入匯出Oracle索引Index
- PL/SQL 索引表SQL索引
- oracle 巢狀表 索引表 使用Oracle巢狀索引
- 【analyze】使用PL/SQL 方法完成多使用者資料分析SQL
- [轉]:bitmap索引和B*tree索引分析索引
- MongoDB索引,效能分析MongoDB索引
- MySQL索引效能分析MySql索引
- MySQL的索引分析MySql索引
- 分析索引是否有效索引
- Oracle Analyze的用法Oracle
- 索引組織表上建立BITMAP索引(三)索引
- 索引組織表上建立BITMAP索引(二)索引