透過圖表分析oracle的parallel效能
並行特性在資料庫裡對於效能的提升很有幫助,尤其是大批次的資料處理。今天對於並行的效能情況進行了簡單的圖表分析。
為了能夠比較合理的比較資料,對資料庫裡的2張大表進行了比對分析。
測試的場景有以下兩個。
1.並行生成dump檔案,比如一個大表有100G,使用並行,並行度為50 ,那麼很可能會生成50個dump檔案,每個dump檔案基本控制在2G左右。
2.使用並行做資料的append insert. 比如已經生成了50個dump檔案,每個dump檔案2G,那麼做並行插入的時候(dump資料還是一個一個插入,但是每次插入資料啟用並行度為 8)
--》並行生成dump檔案。
首先來看看總體的速度,採用並行後速度還是很可觀的。生成12G左右的dump檔案,花費的時間在14秒~21秒
按照這個速度,每秒的速度在571M~857M的範圍內,是相當快的。
使用兩個表MEMO和CHARGE,
CHARGE... Elapsed: 00:00:14.37
MO1_MEMO... Elapsed: 00:00:21.88
表memo
採用並行,並行度最高64,生成了64個dump檔案。Y座標是dump檔案的位元組數。可以看到表memo dump檔案基本都在200M~250M左右。啟用並行生成的資料也是比較平均的。
--表charge
在來看charge表。資料也是比較平均的。都在150M左右
--資料量並行分析
對於生成的dump檔案,大小基本是平均的,但是對於裡面包含的資料量情況還是有一些變化的,透過這個分析可以基本得到表裡的資料情況,發現潛在的碎片等問題
表MEMO
對於memo,可以發現會有幾個dump檔案的資料量有明顯的降低,資料量大多保持在80-90玩左右。有幾個dump檔案只包含10萬條資料左右,但是dump檔案還是在200M左右。可能含有碎片等,需要做進一步的排查。
對於CHARGE表。資料分佈基本在30萬到60萬左右擺動。資料的分佈有一定的浮動。
--》資料的的append Insert
做資料的插入時,可以看到memo表的大體的趨勢是時間會有一定的延長。個別dump因為資料量減少,時間可能會短一些,但是趨勢還是隨著dump的資料逐漸並行插入,時間會有一定的提升。可能會有1.5-2倍的時間差。
為了驗證這一點,來看看charge表的情況,起初速度還保持在30秒,但是稍候會有主鍵的提升。基本到了60-70秒的樣子,
所以綜上所述,並行在日常工作中還是有很大的優勢的,可以極大的縮短一些工作時間,在資料的抽取中使用parallel,速度是很客觀的。
在資料的插入過程中,可能隨著dump檔案的個數增長,資料的插入效能會有一定的降低,但是都在可控範圍內。
為了能夠比較合理的比較資料,對資料庫裡的2張大表進行了比對分析。
測試的場景有以下兩個。
1.並行生成dump檔案,比如一個大表有100G,使用並行,並行度為50 ,那麼很可能會生成50個dump檔案,每個dump檔案基本控制在2G左右。
2.使用並行做資料的append insert. 比如已經生成了50個dump檔案,每個dump檔案2G,那麼做並行插入的時候(dump資料還是一個一個插入,但是每次插入資料啟用並行度為 8)
--》並行生成dump檔案。
首先來看看總體的速度,採用並行後速度還是很可觀的。生成12G左右的dump檔案,花費的時間在14秒~21秒
按照這個速度,每秒的速度在571M~857M的範圍內,是相當快的。
使用兩個表MEMO和CHARGE,
CHARGE... Elapsed: 00:00:14.37
MO1_MEMO... Elapsed: 00:00:21.88
表memo
採用並行,並行度最高64,生成了64個dump檔案。Y座標是dump檔案的位元組數。可以看到表memo dump檔案基本都在200M~250M左右。啟用並行生成的資料也是比較平均的。
--表charge
在來看charge表。資料也是比較平均的。都在150M左右
--資料量並行分析
對於生成的dump檔案,大小基本是平均的,但是對於裡面包含的資料量情況還是有一些變化的,透過這個分析可以基本得到表裡的資料情況,發現潛在的碎片等問題
表MEMO
對於memo,可以發現會有幾個dump檔案的資料量有明顯的降低,資料量大多保持在80-90玩左右。有幾個dump檔案只包含10萬條資料左右,但是dump檔案還是在200M左右。可能含有碎片等,需要做進一步的排查。
對於CHARGE表。資料分佈基本在30萬到60萬左右擺動。資料的分佈有一定的浮動。
--》資料的的append Insert
做資料的插入時,可以看到memo表的大體的趨勢是時間會有一定的延長。個別dump因為資料量減少,時間可能會短一些,但是趨勢還是隨著dump的資料逐漸並行插入,時間會有一定的提升。可能會有1.5-2倍的時間差。
為了驗證這一點,來看看charge表的情況,起初速度還保持在30秒,但是稍候會有主鍵的提升。基本到了60-70秒的樣子,
所以綜上所述,並行在日常工作中還是有很大的優勢的,可以極大的縮短一些工作時間,在資料的抽取中使用parallel,速度是很客觀的。
在資料的插入過程中,可能隨著dump檔案的個數增長,資料的插入效能會有一定的降低,但是都在可控範圍內。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1221066/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Parallel DMLOracleParallel
- Oracle 11g 透過expdp按日期匯出表Oracle
- 【Python】透過Cython提升效能Python
- 透過 CancellationToken 提高 Web 效能Web
- Oracle's Parallel Execution Features(zt)OracleParallel
- Zabbix透過Orabbix監控OracleOracle
- oracle大表效能最佳化Oracle
- Oracle drop分割槽表單個分割槽無法透過閃回恢復Oracle
- Oracle/MySQL透過odbc訪問PostgreSQL for LightDBOracleMySql
- Linux效能分析流程圖Linux流程圖
- ORACLE中seq$表更新頻繁的分析Oracle
- perf及火焰圖的使用,效能分析
- 透過 cavnas 旋轉圖片
- Oracle 透過透明閘道器 訪問 mysqlOracleMySql
- KGB知識圖譜透過智慧搜尋提升金融行業分析能力行業
- 如何分析報表效能問題
- JPA透過表反向生成相關類
- 常見光學材料透過波段表
- oracle 透過pid 找到sid 再找出執行sqlOracleSQL
- 透過Kerberos認證訪問Oracle11gROSOracle
- 如何透過SQLyog分析MySQL資料庫MySql資料庫
- (三、四)Superset 1.3圖表篇——透視表-Pivot Table
- SpringBoot透過refresh-ahead caching加速微服務效能Spring Boot微服務
- 【效能】Oracle表並行對邏輯遷移後查詢效能的影響Oracle並行
- Linux程式效能分析和火焰圖Linux
- Flame Graph 火焰圖分析 Java 效能Java
- oracle語法相容--如何透過with recursive語法來實現oracle的分層查詢Oracle
- 引數fast_start_parallel_rollback調整oracle回滾的速度ASTParallelOracle
- GPT-4 透過圖靈測試GPT圖靈
- HarmonyOS開發:透過文字生成碼圖
- mysql透過計劃任務建立月表MySql
- Oracle 19c透過SCAN連線ORA-12520Oracle
- Oracle 11.2.0.4 透過透明閘道器訪問mysql 8.0.16OracleMySql
- 教你如何透過vue實現echarts中的儀表盤VueEcharts
- oracle資料庫透過sqlplus連線的幾種方式介紹Oracle資料庫SQL
- oracle的表Oracle
- C#中透過ObjectPool重用物件提高程式效能C#Object物件
- 如何透過資料分析來支援TPM模式的決策?模式
- 多個角度分析滲透測試網站安全效能網站