zoukankan      html  css  js  c++  java
  • Spring事务的一些基本知识(四)大事务的危害与优化

    【汇总表】

    【大事务带来的风险】

    并发情况下,数据库连接池容易被撑爆(如果配置连接池大小虽然不会撑爆、但会占用大量连接池资源)

    锁定太多的数据,造成大量的阻塞和锁超时

    执行时间长,容易造成主从延迟,而且造成大量锁等待

    回滚所需要的时间比较长

    undo log日志膨胀,不仅增加了存储的空间,而且可能降低查询的性能

    zebra 事务是走主库,滥用事务有可能导致主库压力过大,数据库整体处理能力下降等

    【优化点】

    1、移除无效声事务

    只有读取操作
    只有一条单条的更新操作
    多次更新操作不在同一个数据库

    2、缩短事务作用范围
    减少事务处理范围,将需要处理的事务SQL操作单数封装方法,事务内剔除无效的流程和查询

    3、剔除事务内耗时操作
    包括RPC调用/接口埋点/leaf调用/线程池任务/Spring事件

    4、事务最佳实践
    Spring声明式事务最佳实践,异常处理等
    将事务使用方法专门抽象一层,避免分散

    【参考】

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

  • 相关阅读:
    keep-alive
    关于前端的网络攻击
    Webpack
    https加密
    JS的变量提升
    浏览器
    http请求状态码
    Python程序结构-模块
    Python面向对象编程-继承
    Python语法(高级语法)- 命名空间和作用域
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/15738105.html
Copyright © 2011-2022 走看看