Учебное пособие Санкт-Петербург «бхв-петербург»


SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED



Pdf көрінісі
бет201/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   197   198   199   200   201   202   203   204   ...   256
sql osnovi yazika

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET
SELECT *
FROM aircrafts_tmp
WHERE aircraft_code = 'SU9';
aircraft_code |
model
| range
---------------+---------------------+-------
SU9
| Sukhoi SuperJet-100 | 3000
(1 строка)
Таким образом, вторая транзакция не видит изменение значения атрибута range,
произведенное в первой — незафиксированной — транзакции. Это объясняется тем,
что в PostgreSQL реализация уровня изоляции Read Uncommitted более строгая, чем
260


9.3. Уровень изоляции Read Committed
того требует стандарт языка SQL. Фактически этот уровень тождественен уровню
изоляции Read Committed. Поэтому будем считать эксперимент, проведенный для
уровня изоляции Read Uncommitted, выполненным и для уровня Read Committed.
Давайте не будем фиксировать произведенное изменение в базе данных, а восполь-
зуемся командой ROLLBACK для отмены транзакции, т. е. для ее отката.
На первом терминале:
ROLLBACK;
ROLLBACK
На втором терминале сделаем так же:
ROLLBACK;
ROLLBACK
9.3. Уровень изоляции Read Committed
Теперь обратимся к уровню изоляции Read Committed. Именно этот уровень уста-
новлен в PostgreSQL по умолчанию. Мы уже показали, что на этом уровне изоляции
не допускается чтение незафиксированных данных. А сейчас покажем, что на этом
уровне изоляции также гарантируется отсутствие потерянных обновлений, но воз-
можно неповторяющееся чтение данных.
Опять будем работать на двух терминалах. В первой транзакции увеличим значение
атрибута range для самолета Sukhoi SuperJet-100 на 100 км, а во второй транзакции —
на 200 км. Проверим, какое из этих двух изменений будет записано в базу данных.
На первом терминале выполним следующие команды:


Достарыңызбен бөлісу:
1   ...   197   198   199   200   201   202   203   204   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет