Aracılığıyla paylaş


XML veri türü sütun dizinleri

XML dizinler üzerinde oluşturulabilir: xml veri sütunları) yazın. Bunlar tüm etiketleri, değerleri ve yolları sütun ve Kazanç sorgu performansı XML durumlarda üzerinden dizin.Uygulamanız bir XML dizinden aşağıdaki durumlarda yararlı:

  • Sorgulara XML sütunlar iş yükünüzü ortaktır.XML veri değişikliği sırasında dizin bakım maliyeti düşünülmesi gerekir.

  • XML değerlerinizin oldukça büyük olan ve alınan parçaları görece küçük.Dizin oluşturma, çalıştırma sırasında tüm verileri ayrıştırma önler ve kazançlar, aramalar etkin sorgu işleme için dizin.

XML dizinler, aşağıdaki kategorilere ayrılır:

  • Birincil XML dizini

  • Ikincil XML dizini

Indeks ilk xml Tür sütun birincil XML dizini olmalıdır. Birincil XML dizinini kullanarak, aşağıdaki türde ikincil dizin desteklenir: yol, DEğER ve ÖZELLIK. Sorgu türüne bağlı olarak, ikincil bu dizinler, sorgu performansını yardımcı olabilir.

Not

Oluşturamaz veya veritabanı seçeneklerini olmadığınız sürece, bir XML dizini değiştirmek küme düzgün çalışmak için xml Veri Türü. Daha fazla bilgi için bkz:Bir XML sütun üzerinde tam metin dizini.

XML örnekleri saklanır xml sütunları büyük ikili nesne (BLOB'lar) olarak yazın. Bu XML örnekleri büyük olabilir ve saklı ikili gösterimi xml veri türü örnekleri, 2 GB'YE kadar olabilir. Çalışma sırasında bir dizin olmaksızın, bu ikili büyük nesne shredded saat sorguda değerlendirilemiyor.Bu shredding olabilir saat - alabilir.Örneğin, aşağıdaki sorguyu göz önünde bulundurun:

WITH XMLNAMESPACES ('https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription' AS "PD")

SELECT CatalogDescription.query('
  /PD:ProductDescription/PD:Summary
') as Result
FROM Production.ProductModel
WHERE CatalogDescription.exist ('/PD:ProductDescription/@ProductModelID[.="19"]') = 1

Önce koşulu karşılayan XML örnekleri seçmek için WHERE XML ikili büyük nesne (BLOB) her satırda, tablonun yan tümce Production.ProductModel çalışma sırasında shredded saat. Ardından, ifade (/PD:ProductDescription/@ProductModelID[.="19"]) içinde exist() yöntem değerlendirilir. Bu çalışma-saat shredding boyutuna ve sayısına sütunda depolanan bağlı pahalı olabilir.

XML ikili büyük nesne (BLOB'lar) sorgulama Uygulama ortamınızı ortak ise, dizinini yardımcı xml sütunları yazın. Ancak, dizin veri değişikliği sırasında koruma ile ilişkili maliyet var.

Bu Bölümde

Konu

Açıklama

Birincil XML dizini

Birincil XML dizin ve alt satır açıklar.

Ikincil XML dizinleri

Üç tür ikincil XML dizinleri açıklar.

XML dizinleri oluşturma

Birincil ve ikincil dizinlerinin nasıl oluşturulacağını açıklar.

XML dizinleri değiştirme

XML dizinleri değiştirmek için ALTER INDEX deyiminin nasıl kullanıldığını açıklar.

XML dizinler bırakılıyor

Dizinleri silmek için DROP INDEX deyim nasıl kullanıldığını açıklar.

Bir XML sütun üzerinde tam metin dizini

XML sütunlar üzerinde bir tam metin dizini oluşturma anlatılmaktadır.