Aracılığıyla paylaş


Kümelenmiş dizin yapıları

Içinde SQL Server, dizinleri B-Ağaç gibi düzenlenir. B-ağacı dizin içindeki her sayfanın bir dizin düğümü olarak adlandırılır.Üst düğüm, B-ağacı kök düğüm denir.Alt düzey düğümlerin dizin içinde yaprak düğümlerin denir.Kök yaprak düğümlerin arasındaki herhangi bir dizin düzeyleri topluca ara düzeyleri olarak da bilinir.kümelenmiş dizin yaprak düğümlerin veri sayfalarını temel alınan tablo içerir.Orta düzey düğümlerin ve kök dizin satır tutan dizin sayfaları içerir.Her dizin satır, bir anahtar değeri ve ya da bir orta düzey sayfa B ağacında ya da dizinin yaprak seviyenin veri satırı için bir işaretçi içerir.Dizinin her düzeyinin sayfalarında doubly bağlı bir listede bağlıdır.

Bir satır kümelenmiş bir dizin varsa sys.Partitions, with index_id = dizin tarafından kullanılan her bölüm için 1.kümelenmiş dizin, varsayılan olarak, tek bir bölüm vardır.kümelenmiş dizin birden fazla bölüm varsa, her bölümün belirli o bölüm için verileri içeren bir B-ağacı yapısı vardır.Örneğin, kümelenmiş dizin dört bölüm varsa, vardır dört; her bir bölüm içinde bir B-ağacı yapısı.

Kümelenmiş dizin veri türlerinde bağlı her kümelenmiş bir dizin yapısı, depolamak ve belirli bir bölüme ait veriyi yönetmek bir veya daha fazla ayırma birimleri gerekir.En azından her kümelenmiş dizin bölümü her bir IN_ROW_DATA ayırma birimi gerekir.Kümelenmiş dizin büyük nesne (LOB) sütunlar içeriyorsa, her bölüm bir LOB_DATA ayırma birimi sahip olacaktır.8,060 Bayt satır boyut sınırını aşan değişken uzunluktaki sütunlar içeriyorsa, her bölüm bir ROW_OVERFLOW_DATA ayırma birimi gerekir.Ayırma birimleri hakkında daha fazla bilgi için bkz: Tablo ve dizin kuruluşu.

Kümelenmiş dizin anahtar değerini, zincirdeki veri sayfaları ve bunları satır sıralanır.Tüm ekler varolan satırları arasında sipariş sırada eklenen satırın anahtar değeri'yeri gösteren bir aşamada yapılır.B-ağacı için sayfa koleksiyonları, içinde sayfa işaretçisi ile bağlantılı sys.system_internals_allocation_units sistem görüntüleyin.

Important noteImportant Note:

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.Anahtarlar, bir dizi bulmak için SQL Server aralıktaki başlangıç anahtar değerini bulmak için dizini ile taşır ve sonra da önceki veya sonraki işaretçileri kullanarak veri sayfalarıyla tarar. Veri sayfaları, zincirdeki ilk sayfa bulmak için SQL Server en soldaki işaretçileri dizini kök düğümünden izler.

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

Levels of a clustered index