Aracılığıyla paylaş


Dizin temelleri

Bir tablo veya Görünüm tablo veya Görünüm satır alışınızın ilişkili bir disk yapısı dizinidir.Bir dizin, bir veya daha fazla sütun tablo veya Görünüm oluşturulan anahtarları içerir.Bu anahtarları sağlayan bir yapı içinde (B-ağacı) depolanan SQL Server satır veya hızlı ve etkili anahtar değerleriyle ilişkili satırları bulmak için.

Bir tablo ya da görünümdeki dizinler aşağıdaki türlerini içerebilir:

  • Kümelenmiş

    • Kümelenmiş dizinler, sıralayabilir ve tablo ya da Görünüm anahtar değerlerine dayalı veri satırlarını depolar.Dizini tanımında dahil sütunları bunlar.Veri satırları tek bir düzende sıralanması için tablo başına yalnızca bir kümelenmiş dizin olabilir.

    • Yalnızca veri satırlarına saat bir tablo saklanır sıralanmış olan tablo bir kümelenmiş dizini içerir.Bir tablo kümelenmiş dizin varsa, tablo kümelenmiş bir tablo adı verilir.Bir tablo kümelenmiş dizin varsa, veri satırlarını yığın olarak adlandırılan sýralanmamýþ bir yapıda saklanır.

  • Kümelenmemiş

    • Kümelenmemiş dizinler veri satırlarını ayrı bir yapıya sahiptir.Kümelenmemiş bir dizin kümelenmemiş dizin anahtar değerleri içerir ve her anahtar değer girişi bir anahtar değeri içeren veri satırı sahip.

    • İşaretçiyi kümelenmemiş dizin satır veri satırı bir satır verisini denir.Veri sayfalarının depolanma biçimini bir yığın veya kümelenmiş bir tablo üzerinde satır verisini yapısına bağlıdır.Bir yığın, bir işaretçi bir satır için bir satır verisini gösterir.Kümelenmiş bir tablo için satır verisini kümelenmiş dizin anahtar gösterir.

    • Sütunlarla ayrımı varolan kümelenmemiş dizin yaprak düzey için dizin anahtar sınırları, 900 bayt ve 16 anahtar sütun ekleyebilir ve yürütmek tam olarak kapsanan, dizini sorgular.Daha fazla bilgi için bkz: Eklenen sütunlar ile dizin.

Dizin mimarisi hakkında daha fazla bilgi için bkz: Tablo ve dizin veri yapıları mimarisi.

Kümelenmiş ve kümelenmemiş dizinleri benzersiz olabilir.Başka bir deyişle, iki sütunun dizin anahtar için aynı değere sahip olabilir.Aksi durumda, dizin benzersiz ve birden çok satır aynı paylaşabilirsiniz anahtar değer.Daha fazla bilgi için bkz: Benzersiz dizin tasarım yönergeleri.

Tablo verileri değiştirildiğinde dizinler otomatik olarak bir tablo ya da Görünüm korunur.

Dizinler ve kısıtlamalar

Tablo sütunları birincil anahtar ve benzersiz kısıtlamaları tanımlanır dizinler otomatik olarak oluşturulur.Örneğin, ne zaman, bir tablo oluşturun ve belirli bir sütunun birincil anahtar olarak tanımlamak Veritabanı Altyapısı otomatik olarak bir birincil anahtar kısıtlaması ve o sütun. dizin oluştururDaha fazla bilgi için bkz: Dizinler (veritabanı altyapısı) oluşturma.

Dizinler sorgu en iyi duruma getiricisi tarafından nasıl kullanılır?

İyi tasarlanmış dizinler, disk g/Ç işlemlerini azaltır ve bu nedenle sorgu performansını iyileştirme daha az sistem kaynağı tüketir.Dizinler içeren select, update, delete veya ifadeler birleştirme sorguları için çeşitli yardımcı olabilir.Sorgu göz önünde SELECT Title, HireDate FROM HumanResources.Employee WHERE EmployeeID = 250 , AdventureWorks2008R2 veritabanı.Bu sorgu yürütüldüğünde, sorgu iyileştiricisi veri almak için kullanılabilir her yöntemi olarak değerlendirilir ve en etkili yöntem seçer.Yöntem bir tablo taraması olabilir veya varsa bir veya daha fazla dizin tarama.

Bir tablo taraması gerçekleştirilirken, sorgu iyileştiricisi tablosundaki tüm satırları okur ve sorgu ölçütleri karşılayan satırları ayıklar.Bir tablo taraması pek çok disk g/Ç işlemlerini oluşturur ve kaynak yoğun olabilir.Ancak, örneğin, sorgunun sonuç küme tablodaki satırların yüksek bir yüzdesi, bir tablo taraması en etkili yöntem olabilir.

Sorgu en iyi duruma getiricisi dizin kullandığında, dizin anahtar sütunları bulur arar depolama konumu satırlar sorgu tarafından gerekli ve o konumdan eşleşen satırları ayıklar.Genellikle, dizin arama farklı olarak, dizin sık sık çok az sayıda sütun içeren ve sıralı düzende satırları olduğundan tablo arama daha hızlıdır.

sorgu iyileştiricisi Sorguları yürütürken en etkili yöntem genellikle seçer.Ancak, dizin varsa, sorgu iyileştiricisi bir tablo taraması kullanmanız gerekir.Your task is to design and create indexes that are best suited to your environment so that the query optimizer has a selection of efficient indexes from which to select.SQL Server provides the Database Engine Tuning Advisor to help with the analysis of your database environment and in the selection of appropriate indexes.

Ayrıca bkz.

Kavramlar

Diğer Kaynaklar