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


SHOW default_transaction_isolation



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

SHOW default_transaction_isolation;
default_transaction_isolation
-------------------------------
read committed
(1 строка)
9.2. Уровень изоляции Read Uncommitted
Давайте начнем рассмотрение с уровня изоляции Read Uncommitted. Проверим, ви-
дит ли транзакция те изменения данных, которые были произведены в другой тран-
закции, но еще не были зафиксированы, т. е. «грязные» данные.
Для проведения экспериментов воспользуемся таблицей «Самолеты» (aircrafts).
Но можно создать копию этой таблицы, чтобы при удалении строк из нее не удаля-
лись строки из таблицы «Места» (seats), связанные по внешнему ключу со строками
из таблицы aircrafts.
CREATE TABLE aircrafts_tmp
AS SELECT * FROM aircrafts;
SELECT 9
Для организации выполнения параллельных транзакций с использованием утилиты
psql будем запускать ее на двух терминалах.
Итак, для изучения уровня изоляции Read Uncommitted проделаем следующие экспе-
рименты.
На первом терминале выполним следующие команды:
BEGIN;
BEGIN
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET
259


Глава 9. Транзакции
SHOW transaction_isolation;
transaction_isolation
-----------------------
read uncommitted
(1 строка)
UPDATE aircrafts_tmp
SET range = range + 100
WHERE aircraft_code = 'SU9';
UPDATE 1
SELECT *
FROM aircrafts_tmp
WHERE aircraft_code = 'SU9';
aircraft_code |
model
| range
---------------+---------------------+-------
SU9
| Sukhoi SuperJet-100 | 3100
(1 строка)
Начнем транзакцию на втором терминале (все, что происходит на втором терминале,
показано на сером фоне):
BEGIN;
BEGIN


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




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

    Басты бет