Spring事務的一些基本知識(四)--大事務的危害與優化


【匯總表】

【大事務帶來的風險】

並發情況下,數據庫連接池容易被撐爆(如果配置連接池大小雖然不會撐爆、但會占用大量連接池資源)

鎖定太多的數據,造成大量的阻塞和鎖超時

執行時間長,容易造成主從延遲,而且造成大量鎖等待

回滾所需要的時間比較長

undo log日志膨脹,不僅增加了存儲的空間,而且可能降低查詢的性能

zebra 事務是走主庫,濫用事務有可能導致主庫壓力過大,數據庫整體處理能力下降等

【優化點】

1、移除無效聲事務

只有讀取操作
只有一條單條的更新操作
多次更新操作不在同一個數據庫

2、縮短事務作用范圍
減少事務處理范圍,將需要處理的事務SQL操作單數封裝方法,事務內剔除無效的流程和查詢

3、剔除事務內耗時操作
包括RPC調用/接口埋點/leaf調用/線程池任務/Spring事件

4、事務最佳實踐
Spring聲明式事務最佳實踐,異常處理等
將事務使用方法專門抽象一層,避免分散

【參考】

https://blog.csdn.net/fengshizty/article/details/117385796


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM