Her sorguda (nolock) ipucu kullanma NOT haklı


23

Hiç bir sorgu ipucu kullanarak NOT haklı çıkarmak zorunda kaldınız mı?

WITH (NOLOCK)Çok yoğun bir sunucuya isabet her sorguda görüyorum . Geliştiricilerin sadece varsayılan olarak açık olması gerektiğini düşündüğü nokta, çünkü binlerce kez kodlarında görmekten nefret ediyorlar.

Kirli okumalara izin verdiğini ve sonunda kötü verilerle sonuçlanacaklarını açıklamaya çalıştım, ancak performans değişiminin buna değeceğine inanıyorlar. (Veritabanları dağınıklıktır; performans sorunlarına sahip olmalarına şaşmamalı.)

Bu NOLOCKipucunun bu şekilde kötüye kullanılmasına karşı davayı nasıl sunacağına dair net bir örneğiniz varsa , bu memnuniyetle karşılanacaktır.

Yanıtlar:


17

Savaşlarınızı seçersiniz ve böyle savaşlar kolayca kazanılamaz. Her DML'nin ROWLOCK ipucuyla işaretlendiği bir sistemimiz var (bir satır veya birkaç bin satırın değiştirilmesinden bağımsız olarak). Performansa neden gerçekten zarar verdiğini gösteren birkaç örnek gösterdim ancak sistem zaten çalışıyorken değişime karşı direnç var. Onları, bu ilerleyişini kullanmayacak kadar ikna ettiğime dikkat edin.

NOLOCK'un yeri var, ancak kullanım sıkıntılarını gösteren iyi referanslar önerebilirim:



9

İş arkadaşlarınıza izolasyon seviyelerini anlamanın önemini açıklamak zorundasınız. Onlara örnekler göster. Küçük Kendra'nın izolasyon seviyelerinin posterinde bulduğum en güzel ve en kolay açıklama . Onlara nolock ipucuna ihtiyaçları olduğunu düşündüklerini sorun. Neden "işlem yalıtım düzeyini ayarla ..." ifadelerini kullanmıyorlar? Düzeltmek istedikleri durumun tam olarak ne olduğunu sorun, belki kilitlenmeleri var, engelleme ... vb. Sadece kilit tutmak istemiyorlarsa, anlık görüntü yalıtım seviyesini düşünebilirler.

Sadece onlara sorarak net bir resim elde edebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.