İstatistik otomatik güncellemesini devre dışı bırakma nedenleri?


13

Çalıştığım bir müşteri şirketinin, bazı SQL Sunucuları için otomatik güncelleme istatistikleri seçeneklerini kapalı tutmaya karar verdiğini ve DBA'ların ortaya çıktıklarında performans sorunlarını manuel olarak gidermeye karar verdiklerini öğrendim.

Ancak, bu tür şeyler benim için bir anlam ifade etmiyor. İstatistiklerin güncellenmesini neden engellemek istersiniz?

Yanıtlar:


11

Benim tavsiyem:

  • 'Otomatik güncelleme istatistiklerini' açık bırakın (yapmamak için çok iyi bir nedenle karşılaşana kadar) - bir sonraki bakım işlemine kadar sorgu planlarını atmak için günün ortasında büyük bir silme istemezsiniz.
  • Ancak, dizin bakım / güncelleme istatistiklerini sessiz bir şekilde planlayın . sp_updatestatssizin için bir veritabanındaki tüm tablolar için tüm istatistikleri güncelleyecektir, ancak bu aynı zamanda depolanan proc yeniden derlemelerine neden olacaktır, bu nedenle zamanınızı dikkatlice seçin (yani sp_updatestatsay sonu raporunuz muhtemelen en düşük seviyeden önce).

Dizin bakım / yeniden oluşturma istatistiklerini ne sıklıkta çalıştırmanız gerektiği, veritabanı yükünüze, özellikle verilerinizin ne sıklıkta değiştirildiğine (yani INSERT/ UPDATE/ DELETE) bağlıdır. Gösterinin her yerinde verileri değiştiriyorsanız (örneğin, haftalık toplu işlem için bir hazırlık tablosu), muhtemelen istatistikleri güncellemek / dizinleri her gece yeniden düzenlemek istersiniz. Verileriniz daha statikse, muhtemelen haftalık veya iki haftada bir planlayabilirsiniz.


7

Ben sadece bir kez kötü yığınları endeksli ve ağır ETL vardı kötü bir uygulama ile gördüm.
Bu çöp ve neyse ki benim değildi.

Aksi takdirde, hiçbir sebep yoktur.

Uygun olmayan zamanlarda istatistik güncellemeleri alıyorsanız, yanlış dizin / istatistik bakımı yaptığınız veya eşiği aşan büyük miktarda silme / yükleme yaptığınız anlamına gelir.

SQL Server 2005+ ile istatistik güncellemesini yine de erteleyebilirsiniz.
Bkz. "Eşzamanlı veya Eşzamansız İstatistik Güncellemeleri Ne Zaman Kullanılmalı"

Bu seçimi yapmak için hangi makaleyi takip ettiklerini veya okuduklarını görmek ilginç olurdu ...


Belki eski bir mesele mi? İstatistik bakımı 2k'de farklı mıydı?
JNK

@JNK: IIRC, satır değiştirme eşiğinde bazı değişiklikler yaptı, ancak bakmak zorundayım ... ah evet, şimdi sütun başına izlendi tablo başına değil msdn.microsoft.com/en-us/library/ms190283.aspx
gbn

2008'de% 20 mi?
JNK


SQL Server 2005+ beri sütun başına> 500 için% 20 + 500
gbn

7

Otomatik istatistikleri devre dışı bıraktığım tek zaman, veri yüklenirken sistemin silmesini istemediğim bazı sahte istatistikler oluşturmak için belgelenmemiş komutlar kullandığım zamandı. Bu ÇOK kenar durumunda idi.


5

Eskiden (SQL Server 2000) otomatik güncelleme istatistiklerinin açık olması, SQL bir istatistik güncellemesi yapmaya karar verdiğinde OLTP uygulamalarında büyük "duraklamalar" ile sonuçlanabilir.

SQL Server 2005'ten itibaren, istatistikler güncel olmadığında ve daha sonra yeniden derlendiğinde "duraklatma" ile sonuçlanmayacak bir zaman uyumsuz seçenek vardır. İstatistikler, bir daha gerekli olduklarında eşzamansız olarak yeniden derlenir.

Bir denge olması gerektiğini aklınızda bulundurun - büyük veri kümeleri için, geçerli sorgunun en güncel istatistikleri dikkate almasını isteyebilirsiniz, çünkü sorgu verimsiz bir sorgu planıyla katlanarak daha uzun sürebilir.

Ayrıca , SQL Server tarafından yayınlanan perfmon sayaçlarını kullanarak saniyede yeniden derleme sayısını ve diğer önemli performans metriklerini de izleyebilirsiniz ; kanıt, pudingde.


4

Sistemler ne kadar aktif?

Eğer bunlar çoğunlukla okunan sistemler ise güncelleme yapmadan alabilirsiniz, eğer veri değiştirirken bunu manuel olarak yaparlarsa (ekle, güncelle, sil).

Ancak en iyi uygulama için bir performans meselesi olmasının nadir olacağını düşündüğüm için tutulması tavsiye edilir. Muhtemelen onlara bırakıldığını gösteren makaleler ve blog gönderileri gönderirim. Kimberly Tripp iyi olanları var.


4

MrDenny ile hiçbir zaman çelişmeyecek ya da kasıtlı olarak herhangi bir şekilde (bilgisine ve topluluğa katkılarına çok fazla saygı göstermeyeceğim) karşı karşıya kalmamasına rağmen, otomatik güncelleme istatistiklerinin kapatılmasını öneren MS belgelerini fark ettim.

At Depolama ve SQL Server kapasite planlama ve yapılandırma (SharePoint Server 2010) , MS o yola önerir.

Ayrıca MS'in önceki sürümleri için de MS tarafından aynı öneriyi okudum ancak şu anda bağlantıları bulamıyorum.

Ama ben bir SP Uzmanı DBA değilim, bu yüzden MS Permier Saha Mühendisi Chun Liu'nun SharePoint'teki Chun Liu'da ne söylemek istediğini kontrol etmek ya da sadece bu yayını görmezden gelmek ve açık bırakmak isteyebilirsiniz .


5
Tavsiyeniz SharePoint veritabanlarına özeldir, genellikle tüm SQL Server yüklemeleri için geçerli değildir.
Simon Righarts

0

Bunları yalnızca kendiniz güncelleme yönteminiz varsa kapatırsınız. Bunu her zaman yapıyorum, çünkü otomatik istatistiklerin yaptıklarından daha iyi veya sadece farklı örneklemeye ihtiyacımız var. Bu oldukça yaygındır, ancak onu kapatmaz ve başka bir şey yapmazsınız.

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.