SORU
21 EYLÜL 2009, PAZARTESİ


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
21 EYLÜL 2009, PAZARTESİ


Ö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.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • julioissk84life

    julioissk84l

    18 ŞUBAT 2008
  • Justin Case

    Justin Case

    3 EKİM 2011
  • PlayStation

    PlayStation

    16 Aralık 2005