交流(二)--分割槽表統計分析耗時太長
二、分割槽表統計時間太長
在交流中有提到一些分割槽表進行統計時候,耗時巨大。這個問題在很多專案也提
到,這個是一個很饒頭的事情。oracle版本也不段在完善這塊的功能。就針對專案
提出的問題,給出一些可能的方法。(這塊我還沒有進行測試)
問題:有一張分割槽表,型別是range分割槽,分割槽鍵是end_date,新載入資料作
為最後分割槽表。每次載入完做分割槽統計耗時很大。
解決思路:
1、 10g每天都定時進行統計分析作業,首先我們要將該分割槽排除在統計分析作業中;
exec dbms_stats.lock_table_stats('OWNER', 'TABLE_NAME');
2、因為資料型別相似,可以把其他分割槽表的統計資訊拷貝到新的分割槽表統計信
息,但這個有版本要求,至少10.2.0.4版本以上
exec dbms_stats.copy_table_stats('OWNER', 'TABLE_NAME', 'OLD_PAR_TABLE', 'NEW_PAR_TABLE', force=>true);
因為我們前面已經鎖住表的統計,需要加force=>true強制進行統計。
3、而低版本的資料庫,可以採用以下方式直接進行更改統計資訊
dbms_stats.set_index_stats
dbms_stats.set_table_stats
dbms_stats.set_column_stats
以上的方法是基於對錶的各個統計資訊比較清楚的情況下采用的手段,在11g引
入了一個增量統計的概念,具體步驟如下:
1、開啟增量統計開關
exec dbms_stats.set_table_prefs('owner', 'table_name', 'INCREMENTAL',
'TRUE');
2、執行增量統計
exec dbms_stats.gather_table_stats('owner', 'table_name');
在10.2.0.4版本,需要打一個補丁Patch 8877245,採用以下方法
exec dbms_stats.gather_table_stats('owner', 'table_name', 'par_table',
granularity=>'APPROX_GLOBAL AND PARTITION');
該方法不會更新NDV值,(number distinct value)。
在交流中有提到一些分割槽表進行統計時候,耗時巨大。這個問題在很多專案也提
到,這個是一個很饒頭的事情。oracle版本也不段在完善這塊的功能。就針對專案
提出的問題,給出一些可能的方法。(這塊我還沒有進行測試)
問題:有一張分割槽表,型別是range分割槽,分割槽鍵是end_date,新載入資料作
為最後分割槽表。每次載入完做分割槽統計耗時很大。
解決思路:
1、 10g每天都定時進行統計分析作業,首先我們要將該分割槽排除在統計分析作業中;
exec dbms_stats.lock_table_stats('OWNER', 'TABLE_NAME');
2、因為資料型別相似,可以把其他分割槽表的統計資訊拷貝到新的分割槽表統計信
息,但這個有版本要求,至少10.2.0.4版本以上
exec dbms_stats.copy_table_stats('OWNER', 'TABLE_NAME', 'OLD_PAR_TABLE', 'NEW_PAR_TABLE', force=>true);
因為我們前面已經鎖住表的統計,需要加force=>true強制進行統計。
3、而低版本的資料庫,可以採用以下方式直接進行更改統計資訊
dbms_stats.set_index_stats
dbms_stats.set_table_stats
dbms_stats.set_column_stats
以上的方法是基於對錶的各個統計資訊比較清楚的情況下采用的手段,在11g引
入了一個增量統計的概念,具體步驟如下:
1、開啟增量統計開關
exec dbms_stats.set_table_prefs('owner', 'table_name', 'INCREMENTAL',
'TRUE');
2、執行增量統計
exec dbms_stats.gather_table_stats('owner', 'table_name');
在10.2.0.4版本,需要打一個補丁Patch 8877245,採用以下方法
exec dbms_stats.gather_table_stats('owner', 'table_name', 'par_table',
granularity=>'APPROX_GLOBAL AND PARTITION');
該方法不會更新NDV值,(number distinct value)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-683428/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ICE 域名解析耗時太長
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- 資料泵匯入分割槽表統計資訊報錯(二)
- oracle分割槽表學習(二)Oracle
- 分割槽表學習之二
- 資料泵匯入分割槽表長時間HANG住
- PostgreSQL:傳統分割槽表SQL
- oracle分割槽表和分割槽表exchangeOracle
- ORACLE分割槽表梳理系列(二)- 分割槽表日常維護及注意事項Oracle
- Oracle分割槽表全域性索引新增分割槽時不會失效Oracle索引
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- oracle分割槽表和非分割槽表exchangeOracle
- 大資料量分割槽表統計資訊的管理大資料
- Oracle分割槽表及分割槽索引Oracle索引
- INTERVAL分割槽表鎖分割槽操作
- 全面學習分割槽表及分割槽索引(9)--刪除表分割槽索引
- 全面學習分割槽表及分割槽索引(11)--合併表分割槽索引
- 全面學習分割槽表及分割槽索引(12)--修改list表分割槽索引
- 如何查詢分割槽表的分割槽及子分割槽
- 【實驗】【PARTITION】交換分割槽時分割槽表有主鍵目標表亦需有主鍵
- 使用split對分割槽表再分割槽
- 簡單ORACLE分割槽表、分割槽索引Oracle索引
- rebuild分割槽表分割槽索引的方法Rebuild索引
- 分割槽表及分割槽索引建立示例索引
- 全面學習分割槽表及分割槽索引(10)--交換分割槽索引
- PLSQL根據分割槽表的分割槽名批次truncate分割槽SQL
- 全面學習分割槽表及分割槽索引(8)--增加和收縮表分割槽索引
- 【學習筆記】分割槽表和分割槽索引——分割槽表的其他管理(三)筆記索引
- 範圍分割槽表和INTERVAL分割槽表對於SPLIT分割槽的區別
- oracle分割槽表執行計劃Oracle
- (轉)ORACLE 分割槽表的設計Oracle
- 2萬字詳解Oracle分割槽表技術,太頂了Oracle
- 【MYSQL】 分割槽表MySql
- postgresql分割槽表SQL
- Oracle 表分割槽Oracle
- MySQL 分割槽表MySql
- oracle分割槽表Oracle
- MySQL分割槽表MySql