Deadlocks

Взаимные блокировки (Deadlock).

Взаимная блокировка или deadlock – ситуация в многопользовательской СУБД, когда две различные транзакции находятся в состоянии бесконечного ожидания ресурсов, занятых этими же транзакциями. InnoDB обнаруживает такие взаимные блокировки и прерывает одну из транзакций, чтобы дать завершиться другой транзакции.

Continue reading

Блокировки в MySQL

Блокировки (locks).

Механизм блокировок (locks) используется в базах данных для того, чтобы обеспечить последовательный доступ к изменению одинаковых данных различным клиентам. Другими словами с помощью блокировок обеспечивается, чтобы в конкретный момент времени только одна транзакция могла изменять указанные данные. Без какого-либо механизма блокировок в базе данных был бы невозможен многопользовательский режим. Иначе как, к примеру, предотвратить одновременное изменений одной и той же строки разными пользователями. Способы реализации механизма блокировок в СУБД различных производителей могут существенно отличаться.

Continue reading

Управление уровнями изоляции транзакций в MySQL.

Установка уровня изоляции транзакций в MySQL.

В MySQL установить уровень изоляции транзакций можно двумя способами:

1. На уровне сервера при его запуске. Это делается либо с помощью опции –transaction-isolation=<isolation_level_name>, либо установкой переменной transaction-isolation в конфигурационном файле в секции [mysqld]. Continue reading