Foydalanuvchilarni boshqarish. Foydalanuvchilar


REPEATABLE READ izolyasiya darajasi



Yüklə 44,52 Kb.
səhifə11/13
tarix13.12.2022
ölçüsü44,52 Kb.
#74230
1   ...   5   6   7   8   9   10   11   12   13
Narziyev Asomiddin databaza lab2

REPEATABLE READ izolyasiya darajasi
READ COMMITTED izolyatsiya darajasidan farqli o'laroq, REPEATABLE READ izolyatsiya darajasi o`qilgan barcha ma`lumotlarga umumiy qulflarni o'rnatadi va tranzaksiya bajarilguncha(commit komandasi bajarilguncha) yoki bekor qilinguncha ushbu blokirovkani ushlab turadi. Shuning uchun, bu holda, tranzaksiya doirasida aynan bitta so'rovni ko'p marta bajarish har doim bir xil natijani beradi. Ushbu izolyatsiya darajasining kamchiligi shundaki, parallel murojaat qilish imkoniyati yanada yomonlashadi, chunki boshqa tranzaksiyalar qulflangan ma`lumotlarni yangilay olmaydi.
Ushbu izolyatsiya darajasi boshqa instruksiyalarga yangi qatorlarni qo’shishdan blokirovka qilmaydi, natijada tranzaksiya ichida aynan bir xil o`qish(select) so’rovi turli qatorlarni qaytarishi mumkin, ya’ni fantomlarga olib kelishi mumkin.





Tranzaksiya 1

Tranzaksiya 2




SET TRANSACTION ISOLATION LEVEL READ COMMITTED
--SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
BEGIN TRAN;

SELECT Value


FROM Table1
WHERE Id = 1;

WAITFOR DELAY '00:00:10';


SELECT Value


FROM Table1
WHERE Id = 1;

COMMIT;




BEGIN TRAN;
UPDATE Table1
SET Value = 42
WHERE Id = 1;
COMMIT TRAN;



Natija READ COMMITTED

Value = 1
Value = 42

Darrov bajariladi

Natija REPEATABLE READ

Value = 1
Value = 1

“Tranzaksiya 1”-ni tugashini kutadi



Yüklə 44,52 Kb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   13




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin