SORU
16 EKİM 2008, PERŞEMBE


SELECT deyimleri NOLOCK ipucunu etkisi

Asıl soru şu sanırım:

Eğer kirli okur umrumda bile, ekleme(NOLOCK) ilebir deyim performansını etkileyecek ipucu:

  1. güncel SELECT deyimi
  2. verilen tabloya karşı diğer işlemler

Örnek:

Select * 
from aTable with (NOLOCK)

CEVAP
16 EKİM 2008, PERŞEMBE


1)Evet, NOLOCK ile seçin daha hızlı normal bir seçin daha tamamlayacak.

2)Evet, NOLOCK ile seçin etkilenen tabloda diğer sorgular daha hızlı bir normal seçin daha tamamlamak için izin verir.

Neden bu olur?

NOLOCK genellikle (bağlı DB engine) anlamına gelir ver verilerinizi, ve umurumda değil, ne halidir, ve hiç zahmet etme elinde iken hala okuyorsun. Tek seferde daha hızlı, daha az kaynak-yoğun, ve çok tehlikeli.

Hiç bir güncelleme yapmak ya da mutlak doğruluğu NOLOCK okuma kökenli bu verileri kullanarak gerekli sistem kritik bir şey, ya da gerçekleştirmek için uyarılmalıdır. Bu veriler, sorgunun çalışması sırasında silinmiş veya Henüz kesinleşmiş olması diğer oturum silinmiş satırlar içeriyor kesinlikle mümkündür. Bu veriler kısmen güncelleştirilmiş satır içeren mümkündür. Bu veriler, yabancı anahtar kısıtlamalarını ihlal eden kayıtları içeriyor olabilir. Bu tabloya eklenen satır hariç ama henüz işlenmesi mümkündür.

Gerçekten verilerin hali ne bilmenin bir yolu var.

Eğer kandırmaya çalışıyorsun şeyler gibi bir Satır Sayısı veya diğer Özet verileri bazı marjı hata kabul edilebilir, o zaman NOLOCK bir performansı artırmak için bu sorgular ve önlemek olması onları olumsuz etki veritabanı performans.

Her zaman büyük bir dikkatle NOLOCK ipucu kullanın ve kuşkuyla döndürür herhangi bir veri davranın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Avast

    Avast

    27 NİSAN 2006
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009