zoukankan      html  css  js  c++  java
  • 数据库锁表导致连接池满问题

    1.查看被锁表

    并发时,操作了同一笔数据,导致锁表。在业务层面添加并发锁,避免这种情况。

    show full processlist 
    

      

    2.查看被锁的表

    show OPEN TABLES where In_use > 0;
    

      

    3.杀死被锁进程

    kill 4361901
    

      

     4.为什么会出现锁表问题,怎么预防

    业务场景:在合同签发流程中,业务流程比较长包含 参数校验,调用第三方合同签发,调用上传阿里OSS,重写PDF,调用回调通知业务方,保存相关业务数据,所有的业务操作都在同一个事务处理中。

    这里任何一个环节出现hold住的情况都有可能导致连接不释放的问题,特别是调用第三方服务时。

    处理:事务尽可能的短,事务只做单纯的数据库存储,修改逻辑,调用第三方及其他业务放在事务外处理。

  • 相关阅读:
    qt学习笔记(1):qt点击运行没有反应。
    JS Object类型
    JS Boolean数据类型和数据类型转换规律
    CSS雪碧图
    CSS
    PS基础
    JS number数字类型
    js中的变量和数据类型
    JS 基础
    单词
  • 原文地址:https://www.cnblogs.com/yun965861480/p/10518220.html
Copyright © 2011-2022 走看看