大势趋007

每个人都是🏆
  新随笔  :: 管理

innodb_rollback_on_timeout 参数

Posted on 2025-08-27 17:03  大势趋007  阅读(15)  评论(0)    收藏  举报

innodb_rollback_on_timeout 说明

https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_rollback_on_timeout


官方原文摘要

  • 参数名称:innodb_rollback_on_timeout
  • 命令行格式:--innodb-rollback-on-timeout[={OFF|ON}]
  • 系统变量:innodb_rollback_on_timeout
  • 作用范围:全局(Global)
  • 动态修改:否(Dynamic: No)
  • 类型:布尔型(Boolean)
  • 默认值:OFF

行为说明:

  • 当为 OFF(默认)时

    • InnoDB 在事务超时时,只回滚导致超时的那条 SQL 语句,事务的其它部分不受影响、未自动整体回滚。
    • 例如,一条 UPDATE 因死锁或锁等待超时失败,该 UPDATE 回滚,但事务其它已执行的语句(如 INSERT)依然有效,事务还活跃,需要你决定是否 COMMIT 或手动回滚。
  • 当为 ON 时

    • 在事务超时时,InnoDB 会直接中止并回滚整个事务,所有已执行但是尚未提交的 DML 操作都会被撤销。

关键总结

  • OFF(默认):只回滚超时语句,不自动整体回滚事务。
  • ON:超时时整个事务被回滚。