Foydalanuvchilarni boshqarish. Foydalanuvchilar


SERIALIZABLE izolyasiya darajasi



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

SERIALIZABLE izolyasiya darajasi
SERIALIZABLE izolyatsiya darajasi eng qat'iy hisoblanadi, chunki u yuqorida keltirilgan paralellik muammolarining to'rttasini ham oldini oladi. Ushbu daraja tegishli operasiya tomonidan o`qilgan ma`lumotlarning butun maydoniga blokirovka o'rnatadi. Shuning uchun, ushbu izolyatsiya darajasi boshqa tranzaksiyani birinchi tranzaksiya to’liq bajarilguncha yoki bekor qilincuncha yangi qatorlar qo'shilishiga to'sqinlik qiladi.





Tranzaksiya 1

Tranzaksiya 2




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

SELECT * FROM Table1


WAITFOR DELAY '00:00:10'


SELECT * FROM Table1


COMMIT;




BEGIN TRAN;

INSERT INTO Table1 (Value)


VALUES(100)
COMMIT TRAN;



Natija REPEATABLE READ:

birinchi SELECT
ID: 1; Value: 1
ikkinchi SELECT
ID: 1; Value: 1
ID: 2; Value: 100

Darrov bajariladi

Natija SERIALIZABLE:

birinchi SELECT
ID: 1; Value: 1
ikkinchi SELECT
ID: 1; Value: 1

“Tranzaksiya 1”-ni tugashini kutadi


REPEATABLE READ: izolyasiya darajasi qo’llanilganda fantom o’qish hodisasi sodir bo’lmoqda, ya’ni tranzaksiyada aynan bir xil kriteriyali o’qishlar (select) turli yozuvlar to’plamini qaytarmoqda, chunki boshqa tranzaksiya orqali ushbu kriteriyaga mos keladigan yangi yozuvni qo’shmoqda. REPEATABLE READ: izolyasiya darajasi esa insert-dan himoya qilmasdi.


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