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

  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • Makeup Lover

    Makeup Lover

    12 HAZİRAN 2011
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010