Indeksy w kolumnach typu danych XML

Indeksy XML mogą być tworzone na xml Typ danych kolumny. Wszystkie znaczniki, wartości i ścieżki one indeksowania za pośrednictwem wystąpień XML w trakcie wykonywania kwerendy kolumna i korzyści.Aplikacja może korzystać z indeksu XML w następujących sytuacjach:

  • Kwerendy w kolumnach XML są często w operacje są przeprowadzane.Muszą być brane pod uwagę koszt obsługi indeksu XML podczas modyfikacji danych.

  • Wartości XML są stosunkowo dużych i pobrane elementy są stosunkowo małe.Budowanie indeksu pozwala uniknąć analizowania całości danych w czasie wykonywania i korzyści indeksu wyszukiwania dla kwerendy wydajne przetwarzanie.

Indeksy XML należą do następujących kategorii:

  • Indeks główny XML

  • Pomocniczy indeksu XML

Indeks pierwszego na xml Kolumna Typ musi być indeksu głównego XML. Korzystając z indeksu głównego XML, obsługiwane są następujące typy indeksów pomocniczych: ścieżka, wartość i właściwość. W zależności od typu kwerendy pomocniczy indeksy te mogą pomóc poprawić wydajność kwerendy.

Uwaga

Nie można utworzyć lub zmodyfikować indeks XML, o ile opcje bazy danych są zestaw prawidłowo podczas pracy z xml Typ danych. Aby uzyskać więcej informacji zobaczFull-Text Index on an XML Column.

Wystąpienia XML są przechowywane w xml Wpisz kolumn jako duże obiekty binarne (bloków BLOB). Te wystąpienia XML mogą być duże, a przechowywane reprezentacja binarna xml wystąpienia typu danych może być do 2 GB. Bez indeksu, te duże obiekty binarne są rozdrobniony przy uruchomieniu czas do oceny kwerendy.To rozdrabniania może być czas - zużywające.Na przykład rozważmy następującą kwerendę:

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

Aby wybrać wystąpienia XML, które spełniają warunek w WHERE Klauzula binarne dużego obiektu XML (BLOB) w każdym wierszu tabela Production.ProductModel jest rozdrobniony przy uruchomieniu czas. Następnie wyrażenie (/PD:ProductDescription/@ProductModelID[.="19"]) w exist() Metoda szacowania. Rozdrabniania run-czas może być kosztowne, w zależności od rozmiaru i liczby wystąpień przechowywane kolumna.

Jeśli kwerenda XML binarne dużych obiektów (bloków BLOB) jest typowe w danym środowisku aplikacji, ułatwia indeksu xml Wpisz kolumn. Istnieje jednak koszt skojarzony z utrzymywania indeksu podczas modyfikacji danych.

W tej sekcji

Temat

Description

Główny indeks XML

W tym artykule opisano indeksu głównego XML i jego wierszy.

Secondary XML Indexes

W tym artykule opisano trzy typy indeksów pomocniczych XML.

Tworzenie indeksów XML

W tym artykule opisano sposób tworzenia indeksów podstawowych i pomocniczych.

Modifying XML Indexes

Informacje dotyczące modyfikowania XML indeksów za pomocą instrukcja ALTER INDEX.

Dropping XML Indexes

Opisuje sposób używania instrukcja DROP INDEX upuścić indeksów.

Full-Text Index on an XML Column

W tym artykule opisano sposób tworzenia indeksu całego tekstu w kolumnach XML.