Share via


Kümelenmiş dizinler oluşturma

Birkaç istisna dışında her tablo kümelenmiş dizin olması gerekir.Sorgu performans artırma yanında, kümelenmiş dizin yeniden veya tablo parçalanma denetlemek için isteğe bağlı olarak yeniden düzenlenmesi.Bir görünümde kümelenmiş dizin de oluşturulabilir.

Tipik uygulamaları

Kümelenmiş dizinler, aşağıdaki yollarla uygulanır:

  • BİRİNCİL anahtar ve benzersiz kısıtlamaları

    PRIMARY key kısıtlaması oluşturduğunuzda, benzersiz kümelenmiş dizin sütun veya sütunlar üzerinde tablo kümelenmiş bir dizin zaten var olmayan ve benzersiz bir kümelenmemiş dizin belirtmezseniz, otomatik olarak oluşturulur.Birincil anahtar sütun null değerlere izin veremez.

    BENZERSİZ kısıtlama oluşturduğunuzda, benzersiz bir kümelenmemiş dizin benzersiz kısıtlamayı zorlamak için varsayılan olarak oluşturulur.Kümelenmiş bir dizin tablo üzerinde henüz yoksa, benzersiz kümelenmiş dizin belirtebilirsiniz.

    Kısıtlamanın bir parçası olarak oluşturulan dizin otomatik olarak kısıtlama adı aynı adı verilir.Daha fazla bilgi için bkz: BİRİNCİL anahtar sınırlamaları ve UNIQUE Kısıtları.

  • Dizin bağımsız olarak bir sınırlama

    kümelenmiş dizin oluşturabilirsiniz bir sütun birincil anahtar dışında sütun kümelenmemiş bir birincil anahtar kısıtlaması belirtilmişse.

  • Dizin oluşturulmuş görünüm

    dizinli görünüm oluşturmak için benzersiz kümelenmiş dizin üzerinde bir veya daha çok görünümü sütunları tanımlanır.Sonuç küme depolanır ve Görünüm materialized yaprak düzey aynı şekilde dizin tablo verileri kümelenmiş dizinde depolanır.Daha fazla bilgi için bkz: Dizin oluşturulmuş görünümler oluşturma.

Anahtar sütun seçimi

Kümelenmiş bir dizin oluşturmak için hangi sütunların çok önemli olduğunu belirleme yalnızca bir kümelenmiş dizin tablo başına olabilir çünkü.Sağ sütun seçme hakkında daha fazla bilgi için bkz: Kümelenmiş dizin tasarım yönergeleri.

kümelenmiş dizin dizin anahtar içeremez varchar row_overflow_data içinde varolan verilere sahip sütunlar ayırma birimi.Kümelenmiş dizin üzerinde oluşturduysanız, bir varchar sütun ve mevcut verilere olan IN_ROW_DATA ayırma birimi, ekleme veya istediğiniz sütun güncelleştirme eylemlerini gönderme veri kapalı-satır will fail.Ayırma birimleri hakkında daha fazla bilgi için bkz: Tablo ve dizin organizasyon.

Disk alanı gereksinimleri

Bir kümelenmiş dizin yapısı oluşturduğunuzda, kendi ilgili dosyaları ve filegroups (kaynak) eski ve yeni (hedef) yapıları için disk alanı gereklidir.Tam hareketi tamamlar kadar eski yapı kaldırıldı.Ek geçici disk alanı sıralamak için de gerekli olabilir.Daha fazla bilgi için bkz: Dizin Disk alanı gereksinimleri belirleme.

Performans değerlendirmeleri

Birkaç varolan kümelenmemiş dizinleri ile yığın kümelenmiş dizin oluşturulur, böylece satır tanımlayıcı (RID) yerine kümeleme anahtar değeri içerdikleri tüm kümelenmemiş dizinler yeniden oluşturulması gerekir.Benzer şekilde, kümelenmiş dizin üzerinde kesilirse bir tablo , birkaç kümelenmemiş dizinler varsa, kümelenmemiş dizinler tüm bırakma işleminin bir parçası yeniden oluşturulur.Büyük tablolarda bu önemli saat alabilir.

Büyük tablolarda dizinler oluşturmak için tercih edilen kümelenmiş dizin ile başlatın ve sonra tüm kümelenmemiş dizinler oluşturmak için yoludur.Var olan tablolarda dizinler oluştururken çevrimiçi seçenek on olarak ayarlanması göz önünde bulundurun.küme , on değil uzun vadeli tablo kilitleri tutulur.Bu sorguları veya devam etmek için temel alınan temel alınan tablo için güncelleştirmeler sağlar.Daha fazla bilgi için bkz: Çevrimiçi dizin işlemleri gerçekleştirme.

Bir tablo oluşturduğunuzda, bir birincil anahtar veya benzersiz kısıtlama oluşturmak için

CREATE TABLE (Transact-SQL)

Üzerinde varolan bir birincil anahtar veya benzersiz kısıtlama oluşturmak içintablo

ALTER TABLE (Transact-SQL)

Dizin oluşturmak için

CREATE INDEX (Transact-SQL)