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

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

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

Continue reading

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

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

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

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

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

Уровни изоляции транзакций (Isolation Level).

С базой данных может одновременно работать множество клиетов. Они могут обращаться к одинаковым таблицам, пытаться прочитать или изменить одинаковые данные, т.е. в системе одновременно может существовать множество различных транзакций (но не более одной на сессию). В связи с этим можно выделить три основные проблемы (или три феномена, как иногда это еще называют) при работе в такой многопользовательской среде. Рассмотрим их подробнее. Continue reading