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:超时时整个事务被回滚。
浙公网安备 33010602011771号