Junior — Middle
Transaktsiyalar va ma'lumotlar bazalari kontekstida Phantom read nima ekanligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Fantom o‘qish — bu, bir xil so‘rovni bir transaktsiya ichida takror bajarishda, birinchi o‘qishda ko‘rinmagan yangi satrlar paydo bo‘lishi holatidir.
Misol:
- T1 transaktsiyasi
SELECT * FROM orders WHERE status = 'new'so‘rovini bajaradi va 5 yozuv oladi. - T1 tugamaguncha, boshqa T2 transaktsiyasi yangi yozuv qo‘shadi va o‘zgartirishlarni tasdiqlaydi.
- Agar T1 ayni so‘rovni takrorlasa, u allaqachon 6 yozuvni ko‘radi — yangi satr "fantom" sifatida paydo bo‘ladi.
Fantom o‘qish, so‘rov shartiga mos keladigan satrlar diapazoni o‘zgarganligi sababli yuzaga keladi.
Fantom o‘qishni oldini olish uchun SERIALIZABLE izolatsiya darajasi qo‘llaniladi, u ma’lumotlar diapazonlarini bloklaydi va o‘qishlar orasida yangi satrlarning paydo bo‘lishini oldini oladi. READ COMMITTED yoki REPEATABLE READ darajalarida fantomlar yuzaga kelishi mumkin.