MySQLMySQL LOCK TABLE


Синтаксис

  • LOCK TABLES table_name [READ | ЗАПИСЫВАТЬ]; // Стол блокировки

  • РАЗБЛОКИРОВАТЬ ТАБЛИЦЫ; // Разблокировать таблицы

замечания

Блокировка используется для решения проблем параллелизма. Блокировка требуется только при выполнении транзакции, которая сначала считывает значение из базы данных и позже записывает это значение в базу данных. Замки никогда не требуются для самостоятельной операции вставки, обновления или удаления.

Доступны два вида замков

READ LOCK - когда пользователь только читает из таблицы.

WRITE LOCK - когда пользователь выполняет чтение и запись в таблицу.

Когда пользователь удерживает WRITE LOCK на таблице, другие пользователи не могут читать или писать в эту таблицу. Когда пользователь держит READ LOCK на таблице, другие пользователи также могут читать или удерживать READ LOCK , но никто не может писать или удерживать WRITE LOCK в этой таблице.

Если основным механизмом хранения данных является InnoDB, MySQL автоматически использует блокировку на уровне строк, так что несколько транзакций могут использовать одну и ту же таблицу одновременно для чтения и записи, не заставляя друг друга ждать.

Для всех систем хранения, отличных от InnoDB, MySQL использует блокировку таблиц.

Более подробная информация о блокировке таблиц См. Здесь

MySQL LOCK TABLE Связанные примеры