Kümelenmemiş dizin yapıları
Kümelenmemiş dizin aynı B-ağacı yapısı olarak kümelenmiş dizinler, aşağıdaki önemli farklılıklar haricinde vardır:
Alttaki veri satırlarını tablo değil sıralanmış ve sırayla, kümelenmemiş anahtarlarının temel depolanır.
Yaprak katmanı bir kümelenmemiş dizin dizin sayfası yerine, veri sayfaları oluşur.
Bir tablo veya kümelenmiş dizin veya yığın görünümüyle, kümelenmemiş dizin tanımlanabilir.Kümelenmemiş dizin dizini her satırda, kümelenmemiş anahtar değeri ve satır Konumlandırıcı içerir.Bu konum belirleyici kümelenmiş dizin veya anahtar değeri öbek veri satırı gösteriyor.
Kümelenmemiş dizin satırlarında satır locators ya da bir işaretçi bir satır veya bir kümelenmiş dizin anahtar için bir satır, aşağıdaki açıklandığı gibi:
kümelenmiş dizin olması anlamına gelir, bir yığın tablosuysa satır Konumlandırıcısı satıra bir işaretçidir.Fare işaretçisini dosya tanıtıcısını (TANıTıCı), sayfa numarasını ve satır sayısını sayfada yerleşik olarak bulunur.Tüm imleci bir satır KIMLIK (RID) olarak bilinir.
Tablo kümelenmiş bir dizin, veya dizin dizinli görünüm, satır Konumlandırıcısı satırın kümelenmiş dizin anahtarıdır.Kümelenmiş dizin benzersiz dizin değilse SQL Server herhangi bir yinelenen anahtar adı verilen dahili olarak oluşturulan bir değeri ekleyerek benzersiz yapan bir benzersizleştirici.Bu dört baytlık değer kullanıcıları tarafından görülmez.Kümelenmiş anahtar kümelenmemiş dizin içinde kullanmak için benzersiz hale getirmek için gerekli olduğunda yalnızca eklenir.Kümelenmemiş dizin yaprak satırda depolanan kümelenmiş dizin anahtar kullanarak bir kümelenmiş dizin arama yaparak, SQL Server veri satırı alır.
Nonclustered indexes have one row in sys.partitions with index_id >0 for each partition used by the index.Varsayılan olarak, bir kümelenmemiş dizin tek bir bölüm vardır.Zaman bir kümelenmemiş dizin birden çok bölüm varsa, her bölümün belirli bir bölümü için dizin satırları içeren bir B-ağacı yapısı vardır.Örneğin, kümelenmemiş bir dizin dört bölüm varsa, her bölümdeki bir dört B-ağacı yapıları vardır.
Kümelenmemiş dizin veri türlerinde bağlı her kümelenmemiş 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ümelenmemiş dizin bir IN_ROW_DATA ayırma birimi başına dizini B-ağacı sayfaları saklayan bir bölüm gerekir.Kümelenmemiş dizin büyük nesne (LOB) sütunlar içeriyorsa, her bölüm bir LOB_DATA ayırma birimi sahip olacaktır.Ayrıca, 8,060 bayt satır boyut sınırını aşan bir değişken uzunlukta sütun içeriyorsa bir ROW_OVERFLOW_DATA ayırma birimi başına bir bölüm gerekir.Ayırma birimleri hakkında daha fazla bilgi için bkz: Tablo ve dizin kuruluşu. B-ağacı için sayfa koleksiyonları, ile bağlantılı root_page işaretçilerisys.system_internals_allocation_units sistem görüntüleyin.
Important Note: |
---|
The sys.system_internals_allocation_units system view is reserved for Microsoft SQL Server internal use only.Gelecekteki uyumluluk garanti edilmez. |
Aşağıda, tek bir bölümde kümelenmemiş bir dizin yapısını gösterir.
Gelen sütun dizinleri
Anahtar olmayan bir sütun dizini yaprak düzey adlı sütunlar, ekleyerek, kümelenmemiş dizin işlevselliği genişletilebilir.Anahtar olmayan bir sütun anahtar sütunlarının tüm kümelenmemiş dizin düzeylerinde depolanır, ancak yalnızca şurada saklanır yaprak düzey.Daha fazla bilgi için bkz:Içerilen sütunları içeren dizin.