Sobes.tech
Junior — Middle

Əməliyyatlar və verilənlər bazaları kontekstində Phantom read nədir izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Fantom oxuma — bu, bir transaksiyada eyni sorğunu təkrar icra edərkən, ilk oxuma zamanı görünməyən yeni sətirlərin ortaya çıxması vəziyyətidir.

Misal:

  1. T1 tranzaksiyası SELECT * FROM orders WHERE status = 'new' sorğusunu icra edir və 5 qeyd alır.
  2. T1 tamamlanmadan başqa T2 tranzaksiyası yeni qeyd əlavə edir və dəyişiklikləri təsdiqləyir.
  3. Əgər T1 eyni sorğunu təkrar edərsə, artıq 6 qeyd görəcək — yeni sətir "fantom" kimi görünür.

Fantom oxuma, sorğu şərtinə cavab verən sətirlərin aralığının iki oxuma arasında dəyişməsi səbəbindən baş verir.

Fantom oxumağı qarşısını almaq üçün SERIALIZABLE izolyasiya səviyyəsi istifadə olunur, bu, məlumatların aralıqlarını bloklayır və oxuma arasında yeni sətirlərin yaranmasını əngəlləyir. READ COMMITTED və ya REPEATABLE READ səviyyələrində fantomlar baş verə bilər.