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

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • nigahiga

    nigahiga

    21 Temmuz 2006
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011