Aracılığıyla paylaş


Uzantı ayırmaları ve boş alan Yönetimi

The SQL Server data structures that manage extent allocations and track free space have a relatively simple structure.Bu, aşağıdaki faydaları vardır:

  • Boş alan bilgi densely, böylece görece birkaç sayfadan bu bilgileri içeren donatılmıştır.

    Bu yükleme bilgilerini almak için gerekli olan disk okuma miktarını azaltarak hızını artırır.Ayırma sayfaları bellekte kalması ve daha fazla okuma istemeyecek olasılığını da artırır.

  • Ayırma bilgilerin çoğu değil zincirleme birlikte.Bu yükleme bilgilerini Bakımı basitleştirir.

    Her sayfa ayırma veya miktarda kaldırma hızlı bir şekilde gerçekleştirilebilir.Bu azaltır çekişme ayırmak veya sayfa ayırması gerek eşzamanlı görevler arasında.

Ölçüde Tahsisatları yönetme

sql Server kapsamlarını ayırma kaydetmek için iki tür ayırma eşlemeleri kullanır:

  • Genel ayırma Haritası (gam)

    Hangi kapsamlarını tahsis gam sayfaları kaydedin.Her gam 64.000 uzantıdan veya neredeyse 4 gb veri kapsamaktadır.gam, kapsadığı aralıkta her kapsam için bir bit vardır.Bit 1 ise kapsam ücretsizdir; bit 0 ise, kapsam tahsis edilir.

  • Paylaşılan genel ayırma Haritası (sgam)

    sgam sayfaları hangi kapsamları karışık kapsam kullanılmakta olan kayıt ve de kullanılmayan en az bir sayfa vardır.Her sgam 64.000 uzantıdan veya neredeyse 4 gb veri kapsamaktadır.sgam, kapsadığı aralıkta her kapsam için bir bit vardır.Bit 1 ise kapsam kullanılmakta olan bir karma olarak kapsam ve boş bir sayfa vardır.Bit 0 ise kapsam kullanılmadığı bir karışık olarak kapsam, ya da karışık bir kapsam ve tüm sayfaları kullanılır.

Her ölçüde aşağıdaki bit desenleri olan küme gam ve sgam geçerli kullanımına dayalı.

Geçerli kapsam kullanımı

Bit gam ayarlama

Bit sgam ayarlama

Ücretsiz, kullanılmayan

1

0

Tek tip kapsam, ya da tam karışıkkapsam

0

0

Karışık kapsam boş sayfa

0

1

Bu basit olur kapsam yönetimi algoritmaları.Tekdüze bir tahsis etmek için kapsam, Veritabanı Altyapısı 1 bit için gam arar ve 0 olarak ayarlar.Bir karışık bulmak için kapsam ile boş sayfaları Veritabanı Altyapısı aramaları sgam için bir 1 bit.Bir karışık ayrılacak kapsam, Veritabanı Altyapısı 1 bit için gam arar, 0 olarak ayarlanır ve ardından da karşılık gelen 1 bit sgam ayarlar.Bir kapsam kaldırmak için Veritabanı Altyapısı gam bit olduğunu küme bit 1 ve sgam gelir küme 0.Aslında tarafından dahili olarak kullanılan algoritmalar Veritabanı Altyapısı Bu konuda açıklanan [NULL]'den daha karmaşık olduklarından Veritabanı Altyapısı dağıtır verileri eşit bir veritabanı.Ancak, hatta gerçek algoritmaları kapsam ayırma bilgileri, zincirlerini yönetmek zorunda kalmaktan basitleştirilmiştir.

Boş alan izleme

Tahsisat durumu her sayfanın tek bir sayfa mı tahsis edildi ve boş alan miktarını her sayfada sayfa boş alanı (pfs) sayfaları kaydedin.pfs her sayfa, sayfa ayrılmış olup olmadığını ve boş olup olmadığını, yüzde 1'den 50, yüzde 51 için 80'i tam, tam bu yüzden yüzde 81'i için 95 tam kaydetme veya tam yüzde 96-100 için bir bayt vardır.

Sonra bir kapsam bir nesne için ayrılan Veritabanı Altyapısı pfs sayfaları hangi sayfaları kaydetmek için kullandığı kapsam ayrılır ya da serbest.Bu bilgi kullanılır, Veritabanı Altyapısı olduğu tahsis yeni bir sayfa.Boş alan miktarını bir sayfa yalnızca yığın ve metin/resim için tutulan sayfas.Kullanıldığı zaman Veritabanı Altyapısı olan yerleştirileceği kullanılabilir boş alanı olan sayfa bulmakyeni eklenen bir satırın. Dizinler isteme sayfa boş alan düzeltmelerin izlenmesini, yeni bir satır eklemek için bir noktada olduğu için küme tarafından dizin anahtar değerleri.

Bir pfs ilk sayfasında (sayfa numarası 1) veri dosyasındaki dosya üstbilgisi sayfa sonra sayfasıdır.Bu bir gam sayfa (sayfa numarası 2) sonra bir sgam sayfa (sayfa 3) tarafından izlenir.Var. pfs sayfa yaklaşık 8000 sayfa boyutu ilk pfs sayfadan sonraBaşka bir gam yok sayfa sonra ilk gam 64.000 kapsamlarını sayfa üzerinde sayfa 2 ve başka bir sgam sayfa sonra ilk sgam 64.000 kapsamlarını sayfa üzerinde sayfa 3.Sayfa tarafından kullanılan aşağıda gösterilmiştir Veritabanı Altyapısı ayırmak ve yönetmek kapsamlarını.

Kapsamları ayırmak ve yönetmek için kullanılan sayfalar