一次優化log_buffer_space的經歷
當向一張表中插入大量資料時,EM中發現有log_buffer_space等待事件。該等待事件是由於重做量超出日誌緩衝區而產生的。
下面介紹實驗環境:
1. 日誌緩衝區預設大小6M。
2. 表的行寬:NUMBER(9)*1+NUMBER(1)*76=85
3. 計劃一次插入1百萬行。
lgwr什麼時候開始空工作的,它要有觸發他的動作
A. 重做日誌緩衝區的已使用的空間達到三分之一時
B. 當dbwn程式向磁碟寫入已修改的緩衝區的時候
C. 每隔3秒鐘
D. 使用者提交事務處理時的一條提交記錄(經常commit會及時重新整理重做日誌緩衝區空間)
如果我們每50,000行提交一次,那麼50,000*85>6M的1/3,因此根據上面的A,將觸發LGWR把log_buffer寫入redo log,這就是LOG BUFFER SPACE產生的原因!
知道了這點,我們調整為每20,000行提交一次,這樣提交前將不會超過日誌緩衝區的1/3。
比較一下,單次提交量和時間的區別:
結論,20,000最佳!
注意到:不是越小越好,比如10,000就比20,000花更多時間,批量提交應儘可能越多越好,但不能超過LOG BUFFER的1/3警戒線。
下面介紹實驗環境:
1. 日誌緩衝區預設大小6M。
2. 表的行寬:NUMBER(9)*1+NUMBER(1)*76=85
3. 計劃一次插入1百萬行。
lgwr什麼時候開始空工作的,它要有觸發他的動作
A. 重做日誌緩衝區的已使用的空間達到三分之一時
B. 當dbwn程式向磁碟寫入已修改的緩衝區的時候
C. 每隔3秒鐘
D. 使用者提交事務處理時的一條提交記錄(經常commit會及時重新整理重做日誌緩衝區空間)
如果我們每50,000行提交一次,那麼50,000*85>6M的1/3,因此根據上面的A,將觸發LGWR把log_buffer寫入redo log,這就是LOG BUFFER SPACE產生的原因!
知道了這點,我們調整為每20,000行提交一次,這樣提交前將不會超過日誌緩衝區的1/3。
比較一下,單次提交量和時間的區別:
25,000 | 00:04:37.62 |
50,000 | 00:04:50.34 |
10,000 | 00:04:40.33 |
20,000 | 00:04:35.52 |
結論,20,000最佳!
注意到:不是越小越好,比如10,000就比20,000花更多時間,批量提交應儘可能越多越好,但不能超過LOG BUFFER的1/3警戒線。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1274302/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次資料庫的優化經歷資料庫優化
- 一次非常有趣的 SQL 優化經歷SQL優化
- 一次非常有趣的sql優化經歷SQL優化
- 記一次真實的webpack優化經歷Web優化
- 記一次使用策略模式優化程式碼的經歷模式優化
- 記一次我的 MySQL 調優經歷MySql
- 一次vue-cli 2.x專案打包優化經歷(優化xlsx外掛)Vue優化
- 一次生產事故的最佳化經歷
- MySQL全面瓦解21(番外):一次深夜優化億級資料分頁的奇妙經歷MySql優化
- 記一次使用 SelectMany 的經歷
- 記一次編譯GCC的經歷編譯GC
- 一次失敗的創業經歷創業
- 記錄一次WhatTheFuck經歷
- 一次java面試經歷Java面試
- 記一次面試經歷面試
- 一次 Linux 桌面自動化測試工具的試用經歷分享Linux
- 反思一次羞愧的阿里面試經歷阿里面試
- 記一次官網被黑的經歷
- 記一次詭異的故障排查經歷
- 記錄一次AndroidStudio導OkHttp的經歷AndroidHTTP
- 記錄一次破解xjar加密的經歷JAR加密
- 一次悲慘的被挖礦經歷
- 記錄一次Mongodb被勒索的經歷MongoDB
- Elasticsearch高併發寫入優化的開源協同經歷Elasticsearch優化
- 記一次翻譯站經歷
- 記一次面試後的經歷,求解篇面試
- 記一次真實的網站被黑經歷網站
- 一次失敗的專案經歷以及反省
- 記一次有點抽象的滲透經歷抽象
- 記一次在 Laradock 中使用 beanstalkd 的經歷Bean
- 親身經歷的一次Mysql OCP考試MySql
- 一次在docker中處理kdevtmpfsi的經歷Dockerdev
- 記一次營銷活動經歷
- 研發工程師兩年工作經驗如何優化簡歷工程師優化
- 由一次 UPDATE 過慢 SQL 優化而總結出的經驗SQL優化
- 記一次preact遷移到react16.6.7的經歷React
- 記CTF小白的第一次刷題經歷
- 一次資料庫洩露的解決經歷資料庫
- 記一次在Grafana中使用Worldmap Panel的經歷Grafana