NOLOCK (Sql Server ipucu) kötü bir uygulamadır?
Web sitesi ve uygulamalar yapma işindeyimdeğilkritik ->örn. bankacılık yazılım, uzay uçuşu, yoğun bakım izleme uygulaması, vb. Siz anladınız.
Bu büyük bir reddi ile, kötü bir Sql deyimi NOLOCK ipucunu kullanıyor? Bir sayının yıl önce, önerilen bir adam Sql Yönetici almalıyım NOLOCK eğer ben mutlu bir "kirli oku" olan olur bana biraz daha fazla performans benim sistem çünkü her okumaz kilit tablo/satır/ne olursa olsun.
Ayrıca eğer ölü-kilit yaşıyorum harika bir çözüm olduğunu söyledi. Yani, bir Sql guru rastgele bir kod ile bana yardımcı olana kadar birkaç yıl için düşünce ve sql kodumu tüm NOLOCKS fark aşağıdaki başladım. Kibarca azarlandım ve bana iyi bir şey değil () anlatmaya çalıştı ve ben biraz kayboldum. Onun açıklaması özünü 'özellikle deadlocking yaşıyorsanız daha ciddi bir sorun .. bir yara bandı çözüm değil. hissediyordum Gibi, sorunun köküne düzeltme'.
Bazı googling son bunu yaptım ve this post rastladım.
Bazı db guru sensei sql var aydınlatın beni lütfen?
CEVAP
Önce çalışan bir Yığın Taşması, ben karşı NOLOCK
asıl size olabilecek gerçekleştirmek a SELECT
NOLOCK
ve geri sonuçları ile veri olmayabilir tarih ya da tutarsız. Düşünmek için bir faktör, çok sayıda kayıt/güncelleme başka bir işlem aynı tablodan veri seçme olabilir, aynı anda yerleştirilebilir. Eğer bu çok fazla olursa o zaman kilitlenmeleri veritabanı modunda kullanmadığınız sürece READ COMMITED SNAPSHOT
gibi yüksek bir olasılık var.
Beri SELECT
performansı artırmak gibi bir kitlesel yüklü SQL Server kilitlenmeleri ortadan kaldırabilir nasıl tanık olduktan sonra NOLOCK
kullanımı ile ilgili bakış açımı değiştirdim. Verileri tam 100% kararlı olmadığını umurunda olmayabilir zamanlar vardır ve güncel olabilir ancak, sonuçlar çabuk gerekir.
Kendini NOLOCK
kullanarak düşünerek zaman bir soru sorayım
Benim sorgu içerir bir tablo olan bir yüksek sayısı
INSERT
/UPDATE
komutları ve umurumda eğer döndürülen verileri bir sorgu eksik olabilir bu değişiklikler de bir an?
Eğer cevap hayır ise, o zaman NOLOCK
performansı artırmak için kullanın.
< / ^ hr .
Ben pek çok yerde kullanıyoruz bu yüzden sadece Yığın Taşması için kod tabanı içinde NOLOCK
anahtar kelime için hızlı arama gerçekleştirilir ve 138 örnekleri bulundu.
C referans bir değişken döndüren bir u...
SQL Server NOLOCK ve birleşimler...
SQL Server - kullanım " gerekir; (...
Neden koddan bir eventhandler aramak i...
Neden Sistem çağrısı için kötü bir uyg...