Kümelenmiş dizin tasarım yönergeleri
Kümelenmiş Dizinleri sıralama ve veri satırlarını depolamak tablo anahtar değerlerine dayalı.Sadece olabilir bir kümelenmiş dizin tablo başına yalnızca veri satırları bir düzende sıralanmış çünkü.Kümelenmiş dizin mimarisi hakkında daha fazla bilgi için bkz: Kümelenmiş dizin yapıları
Birkaç istisna dışında her tablo sütun veya sunan aşağıdaki sütunlar üzerinde tanımlı kümelenmiş dizin olması gerekir:
Sık kullanılan sorgular için kullanılabilir.
Benzersizlik yüksek derecede sağlar.
Not
Bir sütun veya sütunları, benzersiz dizin PRIMARY key kısıtlaması oluşturduğunuzda otomatik olarak oluşturulur.Varsayılan olarak, bu dizinin kümelenmiş olup; Ancak, kısıtlaması oluşturduğunuzda, kümelenmemiş dizin belirtebilirsiniz.
Aralık sorgularda kullanılabilir.
Kümelenmiş dizin benzersiz özellik ile oluşturduysanız, Veritabanı Altyapısı otomatik olarak, bir 4 bayt ekler uniqueifier sütun tablo.Gerektiğinde Veritabanı Altyapısı otomatik olarak ekler bir uniqueifier değeri için bir satır her yapmak için anahtar benzersiz.Bu sütun ve onun değerleri dahili olarak kullanılır ve görülen veya getirilemez kullanıcılar tarafından erişilebilir.
Sorgu hakkında önemli noktalar
Kümelenmiş Dizin oluşturmadan önce verilerinizi nasıl erişileceğini anlama.Aşağıdakileri yapan sorgular için bir kümelenmiş dizin kullanmayı göz önünde bulundurun:
between gibi işleçler kullanarak bir değer aralık dönmek >, >=, <, ve <=.
Kümelenmiş dizin kullanarak ilk değeri olan satır bulunduktan sonra sonraki dizinlenmiş değerlere sahip satırlar fiziksel olarak bitişik olması sağlanır.Örneğin, satış siparişi aralık arasındaki kayıtları bir sorgu alırsa, numaralar, sütun kümelenmiş dizin SalesOrderNumber Hızlı Başlangıç satış siparişi numarasını içeren satırı bulun ve sonra art arda gelen satırlarda almak tablo son satış siparişi numarası ulaşılıncaya kadar.
Dönüş büyük boyutlu sonuç kümeleri.
JOIN yan tümceleri kullanın; genellikle yabancı anahtar sütunları bunlar.
order by veya group by yan tümceleri kullanın.
order by veya group by yan tümce tümce tümcesinde belirtilen sütunlara dizin gereksinimini kaldırmak Veritabanı Altyapısı çünkü satır zaten sıralanır verileri sıralamak için.Bu, sorgu performansını artırır.
Sütun hakkında önemli noktalar
Genellikle, mümkün olduğu kadar az sayıda sütun içeren kümelenmiş dizin anahtar tanımlamanız gerekir.Bir veya daha aşağıdaki özniteliklere sahip sütunlar göz önünde bulundurun:
Benzersiz veya pek çok farklı değerler içeren
Örneğin, bir çalışan kimliği çalışanlar benzersiz olarak tanımlar.Kümelenmiş dizin veya PRIMARY key kısıtlaması üzerinde EmployeeID sütun çalışan bilgileri personel kimlik numarasına göre arama sorguları performansını artırmak.Alternatif olarak, bir kümelenmiş dizin üzerinde oluşturulabilir Soyadı, ad, MiddleName çünkü personel kayıtları sık gruplandırılmış ve bu yolla sorgulanan ve bu sütunların birleşimi hala yüksek derecesine sağlar.
Sırayla erişilir
Örneğin, bir ürün kimliği ürünlerini tanıtan Production.Product , tablo AdventureWorks2008R2 veritabanı.Sorgular içinde sıralı arama belirtilmişse, gibi WHERE ProductID BETWEEN 980 and 999, kümelenmiş dizin üzerinde yararlanabilir ProductID.Bu çünkü o anahtar sütun üzerinde sıralanmış düzende satırları saklanır.
Sütun tablo içinde benzersiz olması sağlanır çünkü kimliği olarak tanımlanır.
Alınan verileri sıralamak için sık kullanılan bir tablo.
Bu, fiziksel olarak, tablo sıralama işlemi her saat sütun sorgulanan maliyetini kaydetmek için bu sütunu sıralamak ise küme için iyi bir fikir olabilir.
Kümelenmiş dizinler, aşağıdaki öznitelikleri için iyi bir seçim değildir:
Sık sık değişiklik meydana sütunlar
Bu tüm satır taşımak için çünkü olur Veritabanı Altyapısı bir satırda veri değerlerini tutması gerekirfiziksel düzeni. Bu, yüksek hacimli işlem sistemleri genellikle geçici veri işleme de önemli bir husustur.
Geniş tuşları
Birden fazla sütun veya birkaç büyük boyutlu sütunların bileşik geniş tuşları var.Kümelenmiş dizin anahtar değerleri arama anahtarları olarak tüm kümelenmemiş dizinleri tarafından kullanılan.Aynı tanımlı tüm kümelenmemiş dizinleri tablo kümelenmemiş dizin girdileri kümeleme anahtarı ve ayrıca o kümelenmemiş dizin için tanımlanan anahtar sütunlar içerdiğinden çok daha büyük olacaktır.
Dizin seçenekleri
kümelenmiş dizin oluşturduğunuzda belirtilebilir birkaç dizin seçenekleri vardır.Kümelenmiş dizinler genellikle oldukça büyük olduğu için aşağıdaki seçenekler için özel dikkat vermelisiniz:
SORT_IN_TEMPDB
DROP_EXISTING
FILLFACTOR
ÇEVRİMİÇİ
Daha fazla bilgi için bkz: Dizin seçeneklerini ayarlama.