Kümelenmiş dizin yapıları

De SQL Server, dizinleri b olarak düzenlenmiş-ağaçları.Her sayfa bir dizin içinde B-ağacı dizin düğümü olarak adlandırılır.Üst düğüm B-ağacı kök düğümü adlandırılır.Dizindeki düğüm alt düzey yaprak düğümlerin denir.Kök ve yaprak düğümlerin arasındaki tüm dizin düzeyleri topluca ara düzeyleri olarak bilinir.kümelenmiş dizin yaprak düğümlerin temel alınan temel alınan tablo veri sayfalarını içerir.Kök ve orta düzey düğümleri içeren dizin satır tutan dizin sayfaları.Her dizin satır bir anahtar değeri ve ya da bir orta düzey sayfa b-ağaç ya da bir veri satırında bir işaretçi içerir yaprak düzeyi dizin.Her sayfa düzey dizini karakteriyle bağlantılı liste halinde bağlantılıdır.

Kümelenmiş dizinler varsa bir satır sys.partitions, birlikte index_id = dizin tarafından kullanılan her bölüm için 1.Varsayılan olarak, tek bir bölüm kümelenmiş dizin vardır.kümelenmiş dizin birden fazla bölüm varsa, her bölüm için o bölüme veri içeren B-ağacı yapısı vardır.Örneğin, dört bölüm kümelenmiş dizin varsa, dört B-ağacı yapıları vardır; Her bölüm biri.

Kümelenmiş dizin veri türlerine bağlı olarak depolamak ve belirli bir bölüm için verileri yönetmek bir veya daha fazla ayırma birimleri her kümelenmiş dizin yapısı olacaktır.En azından her kümelenmiş dizin bölümünün başına bir IN_ROW_DATA ayırma birimi vardır.Büyük nesne (lob) sütunlar içeriyorsa, kümelenmiş dizin bölüm başına bir lob_data ayırma birimi de olacaktır.8,060 Bayt satır boyutu sınırını aşan değişken uzunlukta sütun içeriyorsa, her bölüm bir row_overflow_data ayırma birimi de olacaktır.Ayırma birimleri hakkında daha fazla bilgi için bkz: Tablo ve dizin organizasyon.

Kümelenmiş dizin anahtar değerine bağlı veri zincir sayfalarında ve satırlarda sıralanır.Burada arasında varolan satırları sıralama sırası, eklenen satıra anahtar değeri sığdığı noktasında yapılan tüm ekler.B-ağacı için sayfa koleksiyonları sayfa işaretçilerinde ile bağlantılı olduğunu sys.system_internals_allocation_units sistem görünüm.

Önemli notÖnemli

The sys.system_internals_allocation_units system view is reserved for Microsoft SQL Server internal use only.Gelecekteki uyumluluk garanti edilmez.

For a clustered index, the root_page column in sys.system_internals_allocation_units points to the top of the clustered index for a specific partition.SQL Server moves down the index to find the row corresponding to a clustered index key.Bulmak için bir aralık , anahtarların SQL Server başlangıç anahtar değerini bulmak için dizin gider aralık sonra önceki veya sonraki işaretçiler. kullanarak veri sayfaları tarar veİlk bulmak için sayfa zincirindeki veri sayfas, SQL Server izleyen en soldaki işaretçiler kök düğümünden dizin.

Bu örnekte, bir tek bölümün kümelenmiş dizin yapısı gösterilmiştir.

Kümelenmiş dizin düzeyleri