İstatistikleri manuel olarak güncellemek için bir neden var mı?


19

SQL Server, istatistik zaman otomatik olarak güncellenir Auto Update Statisticsiçinde True(varsayılan olan). İstatistikleri manuel olarak ve hangi durumlarda güncellemek için bir sebep var?

Yanıtlar:


21

Elbette, verileriniz otomatik istatistiklerin oranından daha sık değişiyorsa (veya durumları veya tarih / saat damgalarını güncelleme gibi satırların <% 20'sini sık sık güncellüyorsunuz). Veya tablonuz büyükse ve otomatik istatistik güncellemelerini tetikleyecek kadar değişmiyorsa. Filtrelenmiş dizinleriniz varsa ( otomatik istatistikler eşiği, filtrelenmiş dizindeki satırların alt kümesindeki değişikliklerin yüzdesini değil, tüm tablonun değişikliğinin% 'sini temel aldığından ).


Filtrelenmiş dizinler için +1. Bence bu ana sebep ya da ÇOK büyük veri setlerinde. Ayda 30m satır eklediğim tablolarım var, ancak küçük bir yüzde, bu yüzden manuel olarak başlatmadığım sürece istatistikler normal olarak güncellenmiyor.
JNK

+1 Ayrıca, sayaçları sıfırlamak için bir programa göre yaparsınız, bakım pencerenizin dışında daha az şans anlamına gelir.
gbn

7

Birkaç (yüzeysel) sebep daha:

Otomatik güncelleme istatistikleri, yeni istatistikler hazır olana kadar güncellemeyi tetikleyen sorguyu engeller.

... Otomatik güncelleme istatistiklerini eşzamansız olarak etkinleştirmedikçe. Ardından, güncellemeyi tetikleyen sorgu yeni istatistikleri beklemez, ancak eski, yanlış istatistiklerle çalışabilir.

Ayrıca nispeten büyük bazı tablolara (44M satır, 8,5 GB) sahip bir veritabanı istatistikleri güncellemeye başladığında da bazı garip engelleme sorunlarıyla karşılaştım. Ne olup bittiğini gerçekten izleyemeden önce bu uygulamayı hizmetten aldık.


1
+1 Bu engelleme ve zaman uyumsuzluk seçeneği için harika bir nokta.
Aaron Bertrand

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.