DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) innodb-deadlock-detection

Info Catalog (mysql.info) innodb-implicit-command-or-rollback (mysql.info) innodb-transaction-model (mysql.info) innodb-deadlocks
 
 14.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 a complete rollback of a transaction, all locks
 set by the transaction are released.  However, if just a single SQL
 statement is rolled back as a result of an error, some of the locks set
 by the statement may be preserved. This happens because `InnoDB' stores
 row locks in a format such that it cannot know afterward which lock was
 set by which statement.
 
Info Catalog (mysql.info) innodb-implicit-command-or-rollback (mysql.info) innodb-transaction-model (mysql.info) innodb-deadlocks
automatically generated byinfo2html