Sobes.tech
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:

  1. T1 transaktsiyasi SELECT * FROM orders WHERE status = 'new' so‘rovini bajaradi va 5 yozuv oladi.
  2. T1 tugamaguncha, boshqa T2 transaktsiyasi yangi yozuv qo‘shadi va o‘zgartirishlarni tasdiqlaydi.
  3. 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.