8.2.10.10 Deadlock Detection and Rollback
InnoDB
automatically detects a deadlock of transactions and rolls back a transaction or transactions to break the deadlock. InnoDB
tries to pick small transactions to roll back, where the size of a transaction is determined by the number of rows inserted, updated, or deleted.
InnoDB
is aware of table locks if innodb_table_locks=1
(the default) and AUTOCOMMIT=0
, and the MySQL layer above it knows about row-level locks. Otherwise, InnoDB
cannot detect deadlocks where a table lock set by a MySQL LOCK TABLES
statement or a lock set by a storage engine other than InnoDB
is involved. You must resolve these situations by setting the value of the innodb_lock_wait_timeout
system variable.
When InnoDB
performs ...
Get MySQL® Administrator’s Guide and Language Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.