Блокировка таблицы WRITE предполагает, что модифицировать данные в этой таблице может только поток, установивший блокировку, а другие потоки не могут ни читать, ни записывать в эту таблицу на протяжении действия этой блокировки.
Вот пример того, как работает блокировка WRITE. Начнем с блокировки WRITE таблицы data,
Листинг 12.28.
mysql> LOCK TABLE data WRITE;
Query OK, 0 rows affected (0.05 sec) а затем попробуем прочитать из нее данные.
Так как таблица заблокирована блокировкой WRITE, можно без каких-либо проблем произвести операцию записи.
Листинг 12.30.
mysql> UPDATE data SET stotal = 5000 WHERE pid = 1 and sid = 'INFY';
Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
А что с другими сеансами MySQL? Откроем новый сеанс и попробуем прочитать из той же таблицы при активной блокировке WRITE.
Листинг 12.31.
mysql> SELECT * FROM data;
Здесь клиент MySQL остановится и будет ожидать, пока первый сеанс не снимет блокировку перед выполнением предыдущей команды. Поэтому вернемся к первому сеансу и снимем блокировку с таблицы.
Листинг 12.32.
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.04 sec)
А теперь команда SELECT, вызванная первой командой во втором сеансе, будет обработана MySQL, т.к. таблица data больше не пребывает в заблокированном состоянии.
На быстрой дорожке
В ситуациях, когда применяются как блокировки WRITE, так и блокировки READ, MySQL присваивает блокировкам WRITE более высокий приоритет. Это гарантирует нам более быстрое сохранение изменений на диск. Таким образом, можно снизить риск потери изменений при сбоях в работе диска или системы.
В предыдущих примерах показан один из наиболее существенных недостатков механизма блокировки таблиц: если поток никогда не снимет свою блокировку, все другие потоки, пытающиеся получить доступ к заблокированным таблицам, будут ожидать таймаута блокировки, что приведет к существенному падению производительности всей системы.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Блокировка write
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Псевдотранзакции с таблицами, которые не поддерживают транзакций | Все о MySQL. Реализация псевдотранзакций с помощью механизма блокировки таблиц |