Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
conspect.pdf
Скачиваний:
374
Добавлен:
17.03.2016
Размер:
27.86 Mб
Скачать

Базы данных

БГУИР, ПОИТ

 

 

6.1.20.SELECT: [FOR UPDATE | LOCK IN SHARE MODE]]

Данные команды позволяют управлять степенью изолированности выполняемой транзакции от вмешательства других транзакций.

Подробности: http://dev.mysql.com/doc/refman/5.5/en/innodb-locking-reads.html

В руководстве сказано…

При SELECT ... LOCK IN SHARE MODE другие транзакции могут читать обрабатываемые вашей транзакцией ряды, но не могут их модифицировать. Если в момент старта вашей транзакции какие-то нужные ей ряды модифицировались, она ожидает завершения модифицирующей транзакции, а затем использует новые значения.

Применение SELECT ... FOR UPDATE блокирует ряды так, что другие транзакции не могут их модифицировать, выставлять на них LOCK IN SHARE MODE или даже читать их (зависит от уровня изолированности транзакций). Этот режим доступен

только в случае, если автокоммит транзакций отключён через START TRANSACTION или SET autocommit=0.

Рекомендуется использовать при обработке любых иерархических данных (деревья, графы и т.д.)

Поясним логику работы этих конструкций на картинках.

Стр: 173/248

Базы данных

БГУИР, ПОИТ

 

 

На этом мы заканчиваем рассмотрение общего синтаксиса оператора SELECT и переходим к частным случаям .

Стр: 174/248

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]