Kümelendirilmemiş dizinler oluşturma

Kümelendirilmemiş dizinler oluşturabileceğiniz SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL. Kümelendirilmemiş dizin bir veya daha fazla seçili sütunları yeniden sıralar bir tabloda depolanan verilerden ayrı bir dizin yapısıdır. Kümelendirilmemiş dizinler genellikle verileri esas alınan tabloda arama daha hızlı bir şekilde bulmanıza yardımcı olabilir; sorgular bazen tamamen kümelendirilmemiş dizin verileri tarafından yanıtlanmasını veya kümelendirilmemiş dizin işaret edebilir Veritabanı Altyapısıtemel tablodaki satırlara. Genellikle, kümelendirilmemiş dizinler Kümelenmiş dizin tarafından kapsanmayan sık kullanılan sorgu performansını artırmak için ya da satırlar tablo kümelenmiş bir dizin (bir yığın olarak adlandırılır) bulmak için oluşturulur. Bir tablo veya dizin oluşturulmuş görünüm birden çok kümelendirilmemiş dizinler oluşturabilirsiniz.

Bu Konuda

  • Başlamadan Önce

    Tipik uygulamaları

    Güvenlik

  • Bir kümelenmemiş oluşturmak için dizin kullanarak:

    SQL Server Management Studio

    Transact-SQL

Başlamadan Önce

Tipik uygulamaları

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

  • UNIQUE kısıtlamaları

    BENZERSİZ kısıtlama oluşturduğunuzda, benzersiz kümelendirilmemiş dizin varsayılan olarak benzersiz kısıtlamayı zorlamak için oluşturulur. Tablo kümelenmiş bir dizin zaten mevcut değilse, benzersiz kümelenmiş dizin belirtebilirsiniz. Daha fazla bilgi için, bkz. UNIQUE kısıtlamaları ve Check kısıtlamaları.

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

    Varsayılan olarak, eğer kümelenmiş kümelendirilmemiş dizin oluşturulur belirtildi. Her tablo için oluşturulan kümelendirilmemiş dizinler sayısı 999'dur. Bu, birincil anahtar veya UNIQUE kısıtlamaları tarafından oluşturulan tüm dizinleri içerir ancak xml dizinleri içermez.

  • Kümelendirilmemiş dizin üzerinde dizin oluşturulmuş görünüm

    Benzersiz kümelenmiş dizin üzerinde bir görünüm oluşturulduktan sonra kümelendirilmemiş dizinler oluşturulabilir. Daha fazla bilgi için, bkz. Dizin oluşturulmuş görünümler oluşturma.

Güvenlik

İzinler

Tablo veya görünümde ALTER izni gerektirir. Kullanıcı-meli var olmak a üye sysadmin sabit sunucu rolü veya db_ddladmin ve db_owner veritabanı rolleri sabit.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Tablo Tasarımcısı'nı kullanarak kümelendirilmemiş dizin oluşturmak için

  1. Nesne Explorer'da kümelendirilmemiş dizin oluşturmak istediğiniz tabloyu içeren veritabanı genişletin.

  2. Genişletme tablo ağıl.

  3. Kümelendirilmemiş dizin oluşturun ve seçin istediğiniz tabloyu sağ Tasarım.

  4. Tarih Tablo Tasarımcısı menüsünü tıklayın Dizinler/Anahtarlar.

  5. İçinde Dizinler/Anahtarlar iletişim kutusunda, tıklatın Ekle.

  6. İçinde yeni bir dizin seçin Seçili birincil ve Unique tuşu veya dizini metin kutusu.

  7. Kılavuzda, seçin Clustered olarak oluşturve No özelliği sağındaki aşağı açılan listeden.

  8. Tıklayın yakın.

  9. Tarih dosyasını menüsünden tıklatın kaydetmektable_name.

Nesne Gezgini'ni kullanarak kümelendirilmemiş bir dizin oluşturmak için

  1. Nesne Explorer'da kümelendirilmemiş dizin oluşturmak istediğiniz tabloyu içeren veritabanı genişletin.

  2. Genişletme tablo ağıl.

  3. Kümelendirilmemiş dizin oluşturmak istediğiniz tablo genişletin.

  4. Sağ Dizinler klasörüne gelin Yeni bir dizinve Non-Clustered Index….

  5. İçinde Yeni bir dizin iletişim kutusunu Genel sayfasında, yeni dizin adını dizin adı kutusu.

  6. Altında dizin anahtar sütunları, tıklayın Ekle….

  7. İçinde Seçin sütunlarından table_name iletişim kutusunda, onay kutusunu veya tablo sütun veya sütunları kümelendirilmemiş dizin eklenmek üzere onay kutularını seçin.

  8. Click OK.

  9. İçinde Yeni bir dizin iletişim kutusunda, tıklatın Tamam.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Tablo kümelendirilmemiş dizin oluşturmak için

  1. İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısı.

  2. Standart çubuğunda Yeni sorgu.

  3. Kopyalama ve aşağıdaki örnek sorgu penceresine yapıştırın ve tıkırtı Execute.

    USE AdventureWorks2012;
    GO
    -- Find an existing index named IX_ProductVendor_VendorID and delete it if found. 
    IF EXISTS (SELECT name FROM sys.indexes
                WHERE name = N'IX_ProductVendor_VendorID') 
        DROP INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor; 
    GO
    -- Create a nonclustered index called IX_ProductVendor_VendorID 
    -- on the Purchasing.ProductVendor table using the BusinessEntityID column. 
    CREATE NONCLUSTERED INDEX IX_ProductVendor_VendorID 
        ON Purchasing.ProductVendor (BusinessEntityID); 
    GO
    

Daha fazla bilgi için, bkz. Index (Transact-sql) oluştur.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]