7.5.8.5 Обнаружение и откат взаимоблокировки (deadlock)
7.5.8.5 Обнаружение и откат взаимоблокировки (deadlock)
InnoDB автоматически обнаруживает взаимоблокировку транзакций и производит
откат транзакций, запрос на блокировку которых вызвал возникновение
взаимоблокировки, то есть замкнутого цикла в графике ожиданий транзакций.
InnoDB не может обнаружить взаимоблокировку, установленную оператором
MySQL LOCK TABLES, или блокировку, установленную отличным от InnoDB
обработчиком таблиц. Такие ситуации необходимо исправлять при помощи
параметра innodb_lock_wait_timeout, который задается в `my.cnf'.
Когда InnoDB выполняет полный откат транзакции, все блокировки,
установленные транзакцией, снимаются. Тем не менее, если в результате
ошибки производится откат только одного оператора SQL, некоторые
блокировки, установленные оператором, могут остаться в силе. Это
происходит потому, что InnoDB хранит блокировку строк в формате, по
которому впоследствии нельзя определить, каким оператором SQL была
установлена блокировка.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий
|