Kümelenmemiş dizin yapıları

Kümelenmemiş dizinler kümelenmiş dizinler, aşağıdaki önemli farklılıklar haricinde aynı B-ağacı yapısını sahiptir:

  • Arka plandaki veri satırlarını temel alınan tablo değil sıralanır ve bunların kümelenmemiş tuşlar dayalı sırayla saklanır.

  • kümelenmemiş dizin yaprak katmanı veri sayfaları yerine dizin sayfaları oluşur.

Kümelenmemiş dizinler üzerinde tanımlanabilir bir tablo veya kümelenmiş dizin veya yığın görünümüyle.Kümelenmemiş dizin her satırda kümelenmemiş anahtar değeri ve bir satır verisini içerir.Bu konum belirleyici kümelenmiş dizin veya yığın anahtar değeri veri satırı gösteriyor.

Kümelenmemiş dizin satırlardaki satır Konumlandırıcı'yı ya da bir işaretçi bir satır veya bir satır için bir kümelenmiş dizin anahtar aşağıdaki açıklandığı gibi:

  • Tablo kümelenmiş dizin olması anlamına gelir, bir yığın ise satır verisini gösteren bir işaretçi bir satır gösterir.Fare işaretçisini dosya tanıtıcısını (tanıtıcı), sayfa sayısı ve satır sayısı sayfasında yerleşik olarak bulunur.Bütün işaretçi bir satır kimlik (RID) olarak bilinir.

  • Tablo kümelenmiş bir dizin olan veya dizin üzerinde dizinli görünüm, satır satır için kümelenmiş dizin anahtar Belirleyicisi'dir.Kümelenmiş dizin benzersiz dizin değilse, SQL Server adlı bir içten üretilen değeri ekleyerek yinelenen anahtarlar benzersiz yapan bir benzersizleştirici.Bu dört baytlık değer kullanıcılara görünür değil.Yalnızca Kümelenmiş anahtar kümelenmemiş dizinlerde kullanmak için benzersiz yapmak için gereken zaman eklenir.sql Server veri satırı kümelenmemiş dizin yaprak satırda depolanan kümelenmiş dizin anahtar kullanarak kümelenmiş dizin arama yaparak alır.

Nonclustered indexes have one row in sys.partitions with index_id >0 for each partition used by the index.Varsayılan olarak, tek bir bölüm kümelenmemiş dizin vardır.kümelenmemiş dizin birden fazla bölüm varsa, her bir bölüm, belirli bir bölüm için dizin satırları içeren B-ağacı yapısı vardır.Örneğin, dört bölüm kümelenmemiş dizin varsa, her bölüm içinde bir ile dört B-ağacı yapıları vardır.

Kümelenmemiş 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ümelenmemiş dizin yapısı olacaktır.En azından her kümelenmemiş dizin dizin saklayan bölüm başına bir IN_ROW_DATA ayırma birimi olan B-ağacı sayfaları.Kümelenmemiş dizin büyük nesne (lob) sütun içeriyorsa, her bölüm bir lob_data ayırma birimi sahip olacaktır.Ayrıca, 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 olacaktır.Ayırma birimleri hakkında daha fazla bilgi için bkz: Tablo ve dizin organizasyon.B-ağacı için sayfa koleksiyonları ile bağlantılı olduğunu root_page işaretçilerinde 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.

Aşağıdaki resimde bir tek bölümün kümelenmemiş dizin yapısını gösterir.

Kümelenmemiş dizin düzeyleri

İçerdiği sütun dizinleri

Anahtar olmayan sütunlarla, çok adlı içeren sütunlar ekleyerek kümelenmemiş dizinleri işlevselliği Genişletilebilir yaprak düzey dizin.Anahtar sütunları tüm kümelenmemiş dizin düzeylerinde depolanır, ancak anahtar olmayan sütunlarla yalnızca yaprak düzey depolanır.Daha fazla bilgi için bkz: Eklenen sütunlar ile dizin.