Finansal işlemleri veritabanı işlemlerinde neden sarmadığınızdan emin değilsiniz (bir hesaptan diğerine para aktarırken olduğu gibi - işlemin bir tarafını bir seferde işlemezsiniz - bu yüzden açık işlemler vardır). Kodunuz göründüğü gibi ticari işlemlere karşı cesur olsa bile, tüm işlem veritabanlarının hata veya hata durumunda örtülü geri alma potansiyeli vardır. Bence bu tartışma başının çok üstünde.
Kilitleme sorunlarınız varsa, sürüm oluşturmayı uygulayın ve kodunuzu temizleyin.
Kilit yok sadece yanlış değerler döndürmez, aynı zamanda fantom kayıtlarını ve kopyalarını döndürür.
Sorguların her zaman daha hızlı çalışmasını sağlaması yaygın bir yanılgıdır. Bir tabloda yazma kilidi yoksa, herhangi bir fark yaratmaz. Masada kilitler varsa, sorguyu daha hızlı hale getirebilir, ancak kilitlerin ilk başta icat edilmesinin bir nedeni vardır.
Adil olmak gerekirse, burada bir nolock ipucunun fayda sağlayabileceği iki özel senaryo vardır
1) Canlı OLTP veritabanına karşı uzun sorgu çalıştırması gereken 2005 öncesi sql sunucusu veritabanı bu tek yol olabilir
2) Kayıtları kilitleyen ve kontrolü kullanıcı arayüzüne döndüren kötü yazılmış uygulama, okuyucular süresiz olarak engellenir. Nolock, uygulama düzeltilemiyorsa (üçüncü taraf vb.) Ve veritabanı 2005 öncesi veya sürüm oluşturma özelliği açılamıyorsa yardımcı olabilir.