SQL Server İstatistik Güncelliği

İstatistiklerin yaşını ve değişiklik sayısını tablo bağlamında inceleyin. Güncellik riskini moon ile sürekli takip edin.

2026-09-20 · 2 dakika okuma

Problem neden önemlidir?

Eski veya temsil gücü zayıf istatistikler, iyileştiricinin satır sayılarını hatalı tahmin etmesine katkıda bulunabilir. Ancak yalnızca tarih eski diye her istatistiği güncellemek gereksiz derleme ve bakım yükü oluşturabilir.

Nasıl teşhis edilir?

last_updated, rows, rows_sampled ve modification_counter değerlerini nesne büyüklüğüyle birlikte inceleyin. Filtreli, artan anahtarlı veya büyük tablolarda aynı yaş farklı anlam taşıyabilir.

Sorgu mevcut veritabanındaki kullanıcı tablolarının istatistik özelliklerini salt okunur biçimde listeler. NULL veya eski tarihler, sorgu planı etkisi araştırılmadan otomatik müdahale gerekçesi değildir.

SELECT OBJECT_SCHEMA_NAME(s.object_id) AS schema_name,
       OBJECT_NAME(s.object_id) AS table_name,
       s.name AS statistics_name,
       sp.last_updated,
       sp.rows,
       sp.rows_sampled,
       sp.modification_counter
FROM sys.stats AS s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) AS sp
WHERE OBJECTPROPERTY(s.object_id, 'IsUserTable') = 1
ORDER BY sp.modification_counter DESC, sp.last_updated;

Güvenli çözüm yaklaşımı

Güncelleme kapsamı ve örnekleme oranı sorgu davranışı ile bakım penceresine göre seçilmelidir. AUTO_UPDATE_STATISTICS durumunu doğrulayın ve yalnızca kanıt bulunan nesnelere odaklanın.

Sürekli monitoring neden gerekir?

Veri değişim hızı sabit değildir ve yoğun yüklemeler istatistikleri kısa sürede eskitebilir. moon değişim ve sorgu performansı eğilimlerini izleyerek Slack, PagerDuty veya webhook üzerinden uyarı sağlayabilir.

Sık sorulan sorular

Eski tarihli her istatistik kötü müdür? Tam tarama her zaman en doğru güncelleme yöntemi midir?

Hayır, değişmeyen bir tablo için eski istatistik hâlâ temsilî olabilir. Tam tarama daha ayrıntılı örnek sağlar, ancak büyük nesnelerde maliyeti ve yararı ölçülmelidir.

moon bu konuda nasıl yardımcı olur?

moon, SQL Server, PostgreSQL ve MongoDB sinyallerini sürekli izleyerek problemi anlık bir kontrolden ziyade zaman içindeki davranışıyla değerlendirmeye yardımcı olur.