zoukankan      html  css  js  c++  java
  • 14.3.5.2 Deadlock Detection and Rollback 死锁检测和回滚:

    14.3.5.2 Deadlock Detection and Rollback  死锁检测和回滚:
    
    InnoDB 自动检查四艘,回滚一个事务或者事务来打破死锁。
    
    InnoDB 试图选择小的事务来回滚, 事务的大小是由 插入 修改 或者删除的记录数决定
    
    InnoDB 知道 表锁 如果  innodb_table_locks = 1 (the default) ,autocommit = 0
    
    
    MySQL layer 上面只是关于 row-level locks. 
    
    
    否则,InnoDB 不能检测到死锁 当表锁设置通过MYSQL LOCK TABLE 语句 
    
    或者通过存储引擎设置
    
    
    解决那些情况通过设置innodb_lock_wait_timeout 系统变量
    
    
    
    当InnoDB 执行一个完整的事务回滚,事务上设置的所有锁都被释放。
    
    
    然而, 如果只是单个的SQL语句被回滚作为一个错误结果,
    
    
    一些通过语句设置的锁可能被保持
    
    这个发生因为InnoDB 存储 row locks以这样一种格式
    
    
    如果一个SELECT 调用一个函数在事务里, 函数中的语句失败, 语句回滚。 此外,
    
    
    如果ROLLBACK 被执行在那之后,整个事务回滚
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 相关阅读:
    模块化工具require 学习笔记
    学习Jade模板引擎
    通过border来实现各种三角符号
    使用vscode 编译 sass
    Javascript 运行机制
    Vue调试工具 vue-devtools
    MVVM框架
    通信类
    面向对象
    原型和原型链
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350672.html
Copyright © 2011-2022 走看看