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

  • sonia989

    sonia989

    26 EKİM 2006
  • steeletraining

    steeletraini

    28 NİSAN 2010
  • The White House

    The White Ho

    21 Ocak 2006