一、背景:
最近需求上線的時候發現乙個問題,如果運營建立活動大批量匯入資料的時候,就會出現通過事務操作的某一張表插入資料延遲非常嚴重,以至於出現比較奇怪的現象
二、解決方案
1、首先考慮採用事務中多執行緒進行處理,這樣操作有幾個問題:
考慮到以上的問題,所以方式使用在事務中使用多執行緒的方案
2、執行緒池非同步分批寫入db
優點:首先同步寫入快取,非同步寫入db,保證了效能
難點:該方案需要保證非同步寫入db的原子性和最終一致性
具體方案:
執行緒池非同步分批寫入db,在寫入的過程中保證資料的原子性,如果某一批失敗可以重試3次,如果還是失敗就回滾全部資料
php mysql實現資料分批插入
上週需要將雲端的資料有條件的錄入到mysql中,最開始是使用遍歷資料然後一條條的插入的笨方法,結果速度慢的要死,所以又隨便寫了個笨方法2.0,記錄一下自己菜鳥的成長歷程。同時這也是在的第一篇文章,目的僅僅是單純的記錄一下自己的狗屎 因為我是菜鳥,哈哈。比如說有10001條資料,每次插入1000條,分...
mybatis for迴圈批量插入及分批插入
背景是這樣的,在一次多個系統資料同步的時候,資料量較大,一次大概5000條,在同步的時候我採用的批量插入的方法,模擬測試沒問題,但是實際測試卻爆出了stackoverflowerror異常,於是乎,跟了一波 daovoid insertlist listlistdata insert into t ...
mysql建立事務,分批次重新整理大資料
對於需要重新整理的大資料量,當一次重新整理資料量過大時,事務太大,會導致binlog檔案太大,在不同的資料庫同步時,可能遇到問題,先整理如下,分批次重新整理資料 1 delimiter 設定 為結束符,否則命令列中的 會與預設的 衝突 2drop procedure ifexists test 如果...