SQL Server'daki dolgu faktörü neden varsayılan olarak 0 (% 100)?


9

Doldurma faktörünü, sayfaları ve dizin yapısını anlıyorum ve bu nedenle% 100'lük bir doldurma faktörünün neden nadir görülen en iyi uygulama olduğunu anlıyorum. Öyleyse neden varsayılan olarak 0 (veya% 100) olarak ayarlanıyor? Neden 90 veya 95 olmasın?

Kaçırdığım bir şey var mı?

Yanıtlar:


8

Microsoft'un bunu neden yapacağına dair birkaç öneri atmak için:

  1. Varsayılan değerlerini mümkün olan en iyi OLAP performansı olacak şekilde ayarladılar (0/100 dolgu faktörü ile daha az sayfa okuması)
  2. INSERTDüzenlenen verilerin büyük olasılıkla tablonun sonunda olacağını ve sayfa başına fazladan boş alanın yararsız olacağını varsayıyorlar.
  3. Genellikle UPDATEd verilerinin satır verilerini çok sık uzatmayacağını ve sayfa bölünmesine neden olmayacağını varsayıyorlar.

Bu sadece burada tahmin ediyor. Bu soruyu gerçekten doğru cevaplayabilen tek kişi SQL Server ekibinin kendisidir.


5
Doğru, bunlar mantıklı teoriler gibi görünüyor ve tipik bir müşteri için, çoğu durumda bir sayfada kalıcı olarak boşa harcamayı garanti ettiğiniz bazı rastgele doldurma faktörü seçmekten çok daha uygun.
Aaron Bertrand

Kabul edebileceğim bir yanıt bulduğuma inanamıyorum. Ben makul bir cevap var beklemiyorduk ama # 2 ve # 3 puanları çok mantıklı. Teşekkürler!
NTDLS

@NTDLS sorun değil, yardımcı olmaktan memnuniyet duyarız.
Thomas Stringer
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.