Aracılığıyla paylaş


Içerilen sütunlar ile dizinleri oluşturma

A kümelenmemiş dizin ek olarak dizin anahtar sütunlarının anahtar olmayan sütunlar ekleyerek genişletilebilir.Anahtar olmayan sütunları depolandığı yer yaprak düzey dizini b ağacının.

Bunlar sorgu kapak anahtar olmayan bir sütun içeren bir dizin en fazla yararı sağlar.Bu, sorgu tarafından başvurulan tüm sütunların dizinler dahil anlamına gelir.Daha fazla bilgi için bkz: Içerilen sütunları içeren dizin.

Disk alanı gereksinimleri

Daha fazla disk alanı için dizin anahtar olmayan sütunları ekleme dizini depolamak için kullanır.Özellikle, ekleme varchar(max), nvarchar(max), varbinary(max), veya xml sütun değerlerini dizin yaprak düzeye kopyalanır ve ayrıca tablo veya kümelenmiş dizin içinde kalır. anahtar olmayan sütunlar veri türleri, disk alanı gereksinimleri, önemli ölçüde artabilir.

Sütunlar içeren dizinler için disk alanı gereksinimleri belirleme işlemi kümelenmemiş dizin değeriyle aynıdır.Bilgi için bkz: Dizin disk alanı gereksinimlerini belirleme.

Performans konuları

sorgu iyileştiricisi, dizin içindeki tüm gerekli sütun verileri bulabilir, çünkü performans kazançları seçme işlemlerinde elde; Bu tablo veya kümelenmiş dizin değil erişilir.Ancak, çok fazla sütunlar sahip artabilir saat yani ekleme yapmak için gereken, güncelleştirmek veya temel alınan tablo veya dizinli görünüm operasyonlara artan dizin bakım nedeniyle silin.

Örnekler

C.Sorguda kapsayan

Aşağıdaki örnek kümelenmemiş bir dizin oluşturur Person.Address dört sütunlar tablo. Dizin anahtar sütun PostalCode ve anahtar olmayan sütunlar AddressLine1, AddressLine2, City, ve StateProvinceID.

USE AdventureWorks;
GO
CREATE NONCLUSTERED INDEX IX_Address_PostalCode
ON Person.Address (PostalCode)
INCLUDE (AddressLine1, AddressLine2, City, StateProvinceID);
GO

Bu sorgu dizine göre kapsar.

SELECT AddressLine1, AddressLine2, City, StateProvinceID, PostalCode
FROM Person.Address
WHERE PostalCode BETWEEN '98000' and '99999';
GO

b.Dizin boyutu sınırlaması aşma

Aşağıdaki örnekte, CREATE INDEX deyimini INCLUDE yan tümce, genellikle 900 baytlık en büyük anahtar sütun boyutu sınırı aşan bir sütun için dizin oluşturmak için kullanılır.The Production.ProductReview tablo contains these columns: ProductID(int), ReviewerName(nvarchar (50)) and Comments (nvarchar (3850)).Bu sütun, sorgularda sık kullanılan ancak Comments sütun dizin anahtar sütunu olarak katılmak için çok büyük. Ancak, kullanarak INCLUDE yan tümce, Comments sütun, dizin anahtar olmayan bir sütunda olarak eklenebilir.

USE AdventureWorks;
GO
CREATE NONCLUSTERED INDEX IX_ProductReview_ProductID_ReviewerName
ON Production.ProductReview (ProductID, ReviewerName)
INCLUDE (Comments);
GO

Bu sorgu dizine göre kapsar.

SELECT Comments
FROM Production.ProductReview 
WHERE ProductID = 937;
GO

Sütunlar bir dizin oluşturmak için