1. 程式人生 > >批量處理資料的一些經驗

批量處理資料的一些經驗

批量處理資料庫資料時,如果處理不當,可能拖慢資料庫或者搞垮資料庫,從而影響整個應用的響應速度。下面列舉一下解決方案。

每處理一批,讓執行緒休息一段時間

假設總共有5萬條資料需要處理,每次處理1000條,那麼處理完1000條資料,sleep一段時間,不要太頻繁的操作資料庫。

拆分大的insert操作

假設總共有5萬條資料需要處理,那麼你可以每次只是處理1000條。如果一下子處理5萬條,鎖表的操作會加長,導致系統響應速度變慢。
備註:在迴圈裡面,記得必須有退出迴圈的條件,避免死迴圈。

設定每次處理的最大量

如果你是使用一個執行緒來批量處理資料的,那麼可以設定這個執行緒最多處理多少條記錄,然後執行緒執行完畢退出,不要讓這個執行緒工作太長時間。至於處理不完的資料,可以下次繼續執行。