SORU
27 EKİM 2010, ÇARŞAMBA


Arasındaki fark okuma ve işlemeye yinelenebilir okuma

Yukarıda yalıtım düzeyleri çok benziyorsunuz bence. Birisi ana fark nedir bazı güzel örnekler ile açıklar mısınız ?

CEVAP
27 EKİM 2010, ÇARŞAMBA


Okuma kaydedilmiş herhangi bir veri okundu garantileyen bir yalıtım düzeyikararlışu anda okuyun. Sadece herhangi bir ara, kaydedilmemiş görmesini okuyucu kısıtlar, 'pis' okuyun. Ne olursa olsun, eğer işlem yeniden sorunları okuma, bulup bulamayacağına dair hiçbir söz yaparAynıveri, veri okunduktan sonra değiştirmek için ücretsizdir.

Yinelenebilir okuma kaydedilmiş düzeyde kendisine ek olarak, aynı zamanda herhangi bir veri okumak garantileyen yüksek yalıtım düzeyideğiştiremezsinizeğer bu işlem aynı verileri tekrar okur , bir yerde daha önce okunan veri, değişmeden, ve okumak için kullanılabilir bulacak.

Önümüzdeki yalıtım düzeyi, seri hale getirilebilir, daha güçlü bir garanti sağlar: Her şey garanti yinelenebilir okuma yanı sıra, aynı zamanda güvence altına alırhayıryeniveribir sonraki okuma tarafından görülebilir.

Bir tablo bir sütun C Bir satır ile T var, değeri var ki '1'. Ve düşünün aşağıdaki gibi basit bir görevi var:

BEGIN TRANSACTION;
SELECT * FROM T;
WAITFOR DELAY '00:01:00'
SELECT * FROM T;
COMMIT;

Bu sorun, ikisi arasında 1 dakikalık bir gecikme ile tablo T okur, bu basit bir iştir.

  • TAAHHÜT altında OKUMA, ikinci SEÇİN döndürebilirherhangi birveri. Eş zamanlı hareket kayıt güncelleme, silme, yeni kayıt eklemek olabilir. İkinci seçmek her zaman göreceksinizyeniveri.
  • YİNELENEBİLİR OKUMA altında ikinci SEÇİN ilk başta görmedi bu satırları seçin görmek için garanti edilirdeğişmeden. Yeni satır o bir dakika içinde eşzamanlı bir işlem tarafından eklenen olabilir, ama varolan satır silinir ne de değiştirilebilir.
  • seri hale getirilebilir altında okur seçin görmek garantili ikincitam olarakilk olarak aynı satırları. Hiçbir satır değiştirebilir, ne silinmiş, ne de yeni bir satır eşzamanlı bir işlem tarafından eklenen olabilir.

Eğer mantık yukarıda izlerseniz hızlı bir şekilde sizin için hayatı kolaylaştırmak olsa da seri hale getirilebilir hareketleri, her zaman olduğunu fark edebilirsiniztamamen engellemekimse değiştirebilir veya daha gerektirir beri her olası eşzamanlı operasyon, ne de herhangi bir ekleme satırı silin. Varsayılan işlem olan ısolationlevel .System.Transactions Net kapsam seri hale getirilebilir ve bu genellikle berbat performans sonuçları açıklıyor.

Ve son olarak, ANLIK görüntü yalıtım düzeyi vardır. ANLIK görüntü yalıtım düzeyi yapar aynı teminat olarak seri hale getirilebilir, ama gerektiren hiçbir eş zamanlı hareket edebilir değiştir veri, ama yaparak her okuyucu görmek, kendi sürümü (kendi 'anlık'). Bu çok ölçeklenebilir eş zamanlı güncellemeleri engellemez olarak çok kolay programlamayı yapar, ama tabii ki bir fiyatı var, ve bu fiyat ekstra sunucu kaynak tüketimi.

Ek okuma:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • rekjavicxxx

    rekjavicxxx

    28 EKİM 2007
  • super1988guy

    super1988guy

    9 Aralık 2007