Ne zaman READ COMMITTED SNAPSHOT ISOLATION (RCSI), ne zaman SNAPSHOT ISOLATION (SI) kullanmalı?
Öncelikle eğer okuyucular ve yazıcılar arasında bloklama olayı çok fazla olmuyorsa, optimistic concurrency uygulamalarına girmemekte fayda var.
Eğer girmeniz gerekiyorsa, RCSI’yı tercih etmeniz şu açılardan daha iyi olacaktır:
* RCSI tempdb’de SI’ya göre daha az yer kaplar. (Satır büyüklüğü aynı olmakla birlikte, bir satırın tempdb’de kalma süresi tipik olarak daha kısa olacaktır.)
* RCSI dağıtık transactionlarla çalışır, SI çalışmaz.
* RCSI’da update çatışmaları oluşmaz.
* RCSI için uygulamanızda her hangi bir kod değişikliğine ihtiyaç yoktur. Veritabanı opsiyonunu değiştirdikten sonra eğer zaten READ COMMITTED modda (varsayılan mod) çalışıyorsanız, hiçbir değişiklik yapmadan çalışmalarınıza devam edip RCSI’nın nimetlerinden yararlanmaya başlayabilirsiniz.
Ama öte yandan şu durumlarda SI’yı kullanmayı düşünebilirsiniz:
* Uygulamalarınızın satırlarda eş zamanlı update girişimleri oluşturma ihtimalleri düşükse…
* Uzun süren ve belirli bir andaki verinin sabit olarak transaction boyunca erişilebilmesi gereken durumlarda…