Справочное руководство по MySQL


              

Обнаружение и откат взаимоблокировки (deadlock)

InnoDB автоматически обнаруживает взаимоблокировку транзакций и производит откат транзакций, запрос на блокировку которых вызвал возникновение взаимоблокировки, то есть замкнутого цикла в графике ожиданий транзакций. InnoDB не может обнаружить взаимоблокировку, установленную оператором MySQL LOCK TABLES, или блокировку, установленную отличным от InnoDB обработчиком таблиц. Такие ситуации необходимо исправлять при помощи параметра innodb_lock_wait_timeout, который задается в `my.cnf'.

Когда InnoDB выполняет полный откат транзакции, все блокировки, установленные транзакцией, снимаются. Тем не менее, если в результате ошибки производится откат только одного оператора SQL, некоторые блокировки, установленные оператором, могут остаться в силе. Это происходит потому, что InnoDB хранит блокировку строк в формате, по которому впоследствии нельзя определить, каким оператором SQL была установлена блокировка.


7.5.8.4 Блокировка, осуществляемая различными операторами SQL в InnoDB Оглавление 7.5.8.6 Пример работы согласованного чтения в InnoDB






Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий