SQL Server'daki istatistiklerin varsayılan örnek boyutu nedir?


12

Gönderen MSDN :

Örnek seçeneklerin (SAMPLE, FULLSCAN, RESAMPLE)hiçbiri belirtilmediğinde, sorgu eniyileyici verileri örnekler ve varsayılan olarak örnek boyutunu hesaplar.

İstatistiklerin varsayılan örneklem büyüklüğü nasıl belirlenir?

MSDN'den geçtim ancak varsayılan örnek boyutunu tanımlamak için herhangi bir formül veya yöntem bulamadım. Her yerde yalnızca otomatik istatistik güncellemesini tetikleyen formüller vardır. Herhangi bir işaretçi yardımcı olacaktır.

Yanıtlar:


20

İstatistiklerin varsayılan örneklem büyüklüğü nasıl belirlenir?

Blogs.msdn makalesinden alıntı yaparım

Otomatik Güncelleme istatistikleri Algoritması:

Bu nedenle, Otomatik Güncelleme istatistikleri tablo satırlarındaki her 500 +% 20 değişiklik için tetiklenir. Tabii ki, SQL 2012'de SQRT (1000 * Tablo satırları) olan daha iyi bir algoritmaya sahibiz.

Ateş ettiğinde varsayılan örnekleme oranını kullanır ve burada örnekleme hızını nasıl hesapladığı algoritmasıdır.

1) Tablo <8MB ise istatistikleri tam tarama ile günceller.

2) Tablo> 8MB ise, bir algoritma izler. Çok fazla veri taramadığımızdan emin olmak için tablodaki satır sayısı arttıkça örnekleme oranını azaltır. Bu sabit bir değer değildir, ancak optimize edicinin kontrolü altındadır. Doğrusal bir algoritma da değil.

Örnek: 1.000.000 satırımız varsa,% 30 örnekleme oranı kullanır, ancak satır sayısı 8.000.000'e yükseldiğinde örnekleme oranını% 10'a düşürür. Bu örnekleme oranları DBA'ların kontrolü altında değildir, ancak optimize edici bunu belirler.

Daha fazla anlamak için okumanızı öneririm

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.