Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'da kümelenmemiş dizinler oluşturabilirsiniz. Kümelenmemiş dizin, seçili bir veya daha fazla sütunu yeniden sıralayan bir tabloda depolanan verilerden ayrı bir dizin yapısıdır. Kümelenmemiş dizinler genellikle verileri temel alınan tabloda aramaktan daha hızlı bulmanıza yardımcı olabilir; Sorgular bazen kümelenmemiş dizindeki veriler tarafından tamamen yanıtlanabilir veya kümelenmemiş dizin Veritabanı Altyapısı'nı temel tablodaki satırlara işaret edebilir. Genellikle kümelenmiş dizin kapsamında olmayan sık kullanılan sorguların performansını artırmak veya kümelenmiş dizin (yığın olarak adlandırılır) olmayan bir tablodaki satırları bulmak için kümelenmemiş dizinler oluşturulur. Bir tabloda veya dizinli görünümde birden çok kümelenmemiş dizin oluşturabilirsiniz.
Başlamadan önce
Tipik uygulamalar
Kümelenmemiş dizinler aşağıdaki yollarla uygulanır:
UNIQUEKısıtlama -ları**Kısıtlama
UNIQUEoluşturduğunuzda, varsayılan olarak kısıtlamayı zorlamak için benzersiz birUNIQUEkümelenmemiş dizin oluşturulur. Tabloda kümelenmiş bir dizin yoksa benzersiz bir kümelenmiş dizin belirtebilirsiniz. Daha fazla bilgi için bkz . Benzersiz kısıtlamalar ve denetim kısıtlamaları.Kısıtlamadan bağımsız dizin
Kümelenmiş belirtilmezse, varsayılan olarak kümelenmemiş bir dizin oluşturulur. Tablo başına oluşturulabilecek en fazla kümelenmemiş dizin sayısı 999'dur. Bu, veya
PRIMARY KEYkısıtlamaları tarafındanUNIQUEoluşturulan dizinleri içerir, ancak XML dizinlerini içermez.Dizinli görünümde kümelenmemiş dizin
Görünümde benzersiz bir kümelenmiş dizin oluşturulduktan sonra, kümelenmemiş dizinler oluşturulabilir. Daha fazla bilgi için bkz. Dizinli görünümler oluşturma.
Security
Permissions
ALTER Tablo veya görünümde izin gerektirir. Kullanıcının sysadmin sabit sunucu rolünün veya db_ddladmin ve db_owner sabit veritabanı rollerinin üyesi olması gerekir.
SQL Server Management Studio'yu kullanma
Tablo Tasarımcısı'nı kullanarak kümelenmemiş dizin oluşturma
Nesne Gezgini'nde, kümelenmemiş dizin oluşturmak istediğiniz tabloyu içeren veritabanını genişletin.
Tablolar klasörünü genişletin.
Kümelenmemiş dizin oluşturmak istediğiniz tabloya sağ tıklayın ve Tasarım'ı seçin.
Kümelenmemiş dizini oluşturmak istediğiniz sütuna sağ tıklayın ve Dizinler/Anahtarlar'ı seçin.
Dizinler/Anahtarlar iletişim kutusunda Ekle'yi seçin.
Seçili Birincil/Benzersiz Anahtar veya Dizin metin kutusunda yeni dizini seçin.
Kılavuzda Kümelenmiş Olarak Oluştur'u seçin ve özelliğin sağındaki açılan listeden Hayır'ı seçin.
Kapat'ıseçin.
Dosya menüsünde, Seçintable_namekaydet.
Nesne Gezgini'yi kullanarak kümelenmemiş dizin oluşturma
Nesne Gezgini'nde, kümelenmemiş dizin oluşturmak istediğiniz tabloyu içeren veritabanını genişletin.
Tablolar klasörünü genişletin.
Kümelenmemiş dizin oluşturmak istediğiniz tabloyu genişletin.
Dizinler klasörüne sağ tıklayın, Yeni Dizin'in üzerine gelin ve Kümelenmemiş Dizin... öğesini seçin.
Yeni Dizin iletişim kutusundaki Genel sayfasında, Dizin adı kutusuna yeni dizinin adını girin.
Dizin anahtarı sütunları'nın altında Ekle...'yi seçin.
table_nameSütun Seç iletişim kutusunda, kümelenmemiş dizine eklenecek tablo sütununun veya sütunlarının onay kutusunu veya onay kutularını seçin.
Tamam'ı seçin.
Yeni Dizin iletişim kutusunda Tamam'ı seçin.
Transact-SQL kullanma
Transact-SQL kullanarak tabloda kümelenmemiş dizin oluşturma
Nesne Gezgini'nde, yüklü bir Veritabanı Altyapısı
AdventureWorks2025örneğine bağlanın.AdventureWorks2025indirebilirsiniz.Standart araç çubuğunda, Yeni Sorgu'yu seçin.
Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.
USE AdventureWorks2022; 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
İlgili içerik
- İNDEKS OLUŞTUR (Transact-SQL)
- SQL Server ve Azure SQL dizin mimarisini ve tasarım kılavuzunu