Еще менее стабильным, чем уровень изолированности REPEATABLE READ, является уровень изолированности READ COMMITTED. На этом уровне транзакция может видеть не только новые записи, добавленные другими транзакциями, но и изменения, произведенные этими транзакциями. Другими словами, это означает, что операторы SELECT на протяжении одной и той же транзакции возвращают различные результаты, если в этот момент соответствующие таблицы были изменены другими транзакциями. Это видно на рис. 12.6.
Пусть задан уровень изолированности READ COMMITTED, вторая транзакция "увидит" на счету маклера A 1000 акций, пока первая транзакция еще находится на стадии выполнения. Однако после завершения первой транзакции, вторая "увидит" 600 акций на счету маклера A и 1400 акций на счету B несмотря на то, что первая транзакция все еще находится на стадии выполнения.
Это очевидная проблема - когда вторая транзакция "видит" два различных результирующих набора и поэтому непонятно, какому из них можно доверять. Экстраполируя эту ситуацию, предположим, что вместо одной транзакции одновременно работает много транзакций, которые выполняют обновления данных в базе данных. В результате каждый запрос, выполненный транзакцией, приводит к другому результирующему набору (отсюда и термин неповторимое чтение),
read uncommitted
Уровень изолированности READ UNCOMMITTED обеспечивает минимальную степень изолированности транзакций. Кроме того, что для него характерно ложное и неповторимое чтение, транзакция такого уровня изолированности имеет возможность считывания данных, обработка которых еще не закончена другими транзакциями. Если такая транзакция использует невыполненные изменения, вызванные другими транзакциями, для своих собственных вычислений и по этим изменениям потом будет произведен откат, это может закончиться полным разрушением данных.
Рассмотрим пример, представленный на рис. 12.7. Предположим, что вторая транзакция работает с уровнем изолированности READ UNCOMMITTED, это приведет к возможности просмотра изменений первой транзакции, пока она выполняется, а значит, "увидеть" 600 акций на балансе маклера A еще до того, как эта транзакция будет завершена. Но если транзакция между маклерами A и B впоследствии отменяется командой ROLLBACK, вторая транзакция будет продолжать работать с ошибочными данными (отсюда применение для обозначения ошибок такого типа термина грязное чтение).
ТОП-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. read committed
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Уровни изолированности транзакций | Все о MySQL. Изменение уровня изолированности транзакций |