Geçici tablolara veri yüklerken minimum günlük kaydı alın


10

Veri Yükleme Performansı Kılavuzu'nu okuduktan sonra bile , minimum günlük kaydı almak için kümelenmiş bir dizinle tanımlanan boş bir geçici tabloya TABLOCK tablo ipucu eklemenin gerekip gerekmediğinden emin değilim.

Açıkçası temp tablosu SIMPLE kurtarma modunda çalışan TempDB'de yaratılmıştır, bu yüzden minimum kayıt için mükemmel bir aday olduğunu düşünürdüm, ancak onaylamak için bir geçit bulamıyorum.

Geçici bir tablo, minimum günlük kaydı için aday mıdır ve eğer varsa, kalıcı tablolar için önerilen TABLOCK ipucunu eklemeye değer mi?

Yanıtlar:


18

TABLOCKMinimum günlüğü almak için kümelenmiş bir dizin ile tanımlanan boş bir geçici tabloya tablo ipucu eklemek gerekli olup olmadığından emin değilim .

Hayır. Yerel geçici tablolar ( #temp) olan özel bir tablo kilit ipucu gerekli değildir, böylece yaratma oturumuna. Birden çok oturumdan erişilebildiğinden, genel bir geçici tablo ( ##temp) veya dbo.tempiçinde oluşturulmuş normal bir tablo ( ) için tablo kilidi ipucu gerekir tempdb.

Tam minimum günlük kaydı optimizasyonlarının uygulanmadığı yerlerde bile, bilgilerin günlüğe kaydedilmesine tempdbgerek olmayan diğer optimizasyonlardan yararlanan tablolara dikkat edin REDO. Belgelenmemiş öğeleri kullanarak satırların veya sayfaların günlüğe kaydedilip kaydedilmediğini test edebilirsiniz sys.fn_dblog. Düzenli günlüğe kaydetme gibi satır günlüğe kaydedilen kayıtlar içerir LOP_INSERT_ROWS.


SQL Server 2016'daki sorgularla TABLOCKparalel yürütme elde etmek için yerel geçici tabloya eklemenin gerekli olduğunu unutmayın INSERT...SELECT, Microsoft Bilgi Bankası makalesine bakın:

INSERT çalıştırdığınızda düşük performans. SQL Server 2016'da SELECT işlemleri

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.