Junior — Middle
İşlemler ve veritabanları bağlamında Phantom okuma nedir açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Hayalet okuma — bu, aynı sorgunun bir işlem içinde tekrar çalıştırılması sırasında yeni satırların ortaya çıkması durumudur; bu satırlar ilk okuma sırasında görünmüyordu.
Örnek:
- T1 işlemi
SELECT * FROM orders WHERE status = 'new'sorgusunu çalıştırır ve 5 kayıt alır. - T1 tamamlanmadan başka bir T2 işlemi yeni bir kayıt ekler ve değişiklikleri onaylar.
- T1 aynı sorguyu tekrar çalıştırırsa, artık 6 kayıt görecektir — yeni satır "hayalet" olarak ortaya çıkmıştır.
Hayalet okuma, sorgu koşulunu karşılayan satırların aralığının iki okuma arasında değişmesi nedeniyle oluşur.
Hayalet okumayı önlemek için SERIALIZABLE izolasyon seviyesi kullanılır; bu, veri aralıklarını kilitler ve okuma işlemleri arasında yeni satırların ortaya çıkmasını engeller. READ COMMITTED veya REPEATABLE READ seviyelerinde hayaletler oluşabilir.