Некоторые разъяснения на разных уровнях изоляции в транзакции базы данных?

Ниже приведено утверждение, написанное из Статьи изоляции Википедии о повторяемых читах . В этом уровне изоляции

на этом уровне изоляции. Реализация DBMS-контроля на основе блокировки сохраняет замки для чтения и записи (приобретенные на выбранные данные Несомненно до конца транзакции. Однако диапазон-замки не управляются, поэтому может возникнуть фантомное явление, которое может произойти (см. Ниже).

Мой вопрос здесь, когда делает транзакцию начинается и заканчивается соответственно.

Если мы возьмем пример не повторяемых чтений с повторяемым уровнем изоляции считывания по той же ссылке, согласно моему пониманию Trnsaction 1 Когда первый запрос уволен I.E Выберите * от пользователей, где ID = 1. СУБД будет держать блокировку на таблице пользователей, и если транзакция не получится. Здесь к концу Я имею в виду, когда соединение получает Rollibleback или обязано не на завершение , выберите * от пользователей, где ID = 1 . До того времени Транзакция 2 будет ждать правильно?


Вопрос 2: - Теперь, если мы рассмотрим уровень изоляции и поведение их, как указано ниже (по той же ссылке)

Isolation level     Dirty reads   Non-repeatable   Phantoms
Read Uncommitted    may occur     may occur        may occur
Read Committed      -             may occur        may occur
Repeatable Read     -             may occur        -
Serializable        -             -                -

, согласно моему пониманию, наиболее надежным является сериализация, затем повторяется, а затем прочитано Но все же я видел, используя прочитанные. Это потому, что производительности сериализма и повторяемого чтения плохой по сравнению с прочитанным преданным, потому что в сериализации он будет последовательным и в случае транзакции должен ждать выпуска блокировки другой транзакцией. верно? Итак, чтобы получить лучшее из всех трех, мы можем использовать изоляцию Уровень как прочитанный с выбрать для обновления (для достижения повторяемого чтения). Не уверен, как мы можем добиться фантомка читать, если мы хотим, в случае прочитанного Уровень изоляции?

5
задан NullUserException 14 September 2011 в 19:12
поделиться