CREATE XML INDEX (селективные XML-индексы)

Создает новый вторичный селективный XML-индекс по одному пути, который уже проиндексирован существующим селективным XML-индексом.

Дополнительные сведения см. в следующих разделах:

Кроме того, вы можете создавать первичные селективные XML-индексы. Дополнительные сведения см. в разделе Создание, изменение и удаление селективных XML-индексов.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

CREATE XML INDEX index_name
ON <table_object> (xml_column_name)
USING XML INDEX sxi_index_name
FOR (<xquery_or_sql_values_path>)
[WITH (<index_options>)]

<table_object> ::= { [ database_name. [ schema_name ] . | schema_name. ] table_name }

<xquery_or_sql_values_path>::= <path_name> 

<path_name> ::= <character string literal>

<xmlnamespace_list> ::= <xmlnamespace_item> [, <xmlnamespace_list>]

<xmlnamespace_item> ::= xmlnamespace_uri AS xmlnamespace_prefix

<index_options> ::= (  
  | PAD_INDEX  = { ON | OFF }
  | FILLFACTOR = fillfactor
  | SORT_IN_TEMPDB = { ON | OFF }
  | IGNORE_DUP_KEY =OFF
  | DROP_EXISTING = { ON | OFF }
  | ONLINE = OFF
  | ALLOW_ROW_LOCKS = { ON | OFF }
  | ALLOW_PAGE_LOCKS = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism

)

Аргументы

Предложение CREATE

  • index_name
    Имя создаваемого нового индекса. Имена индексов должны быть уникальными в пределах таблицы, но не обязательно должны быть уникальными в пределах базы данных. Имена индексов должны удовлетворять правилам для идентификаторов.

Пример. CREATE XML INDEX filt_sxi_index_c

ON, предложение

  • <table_object>
    Таблица, которая содержит индексируемый XML-столбец. Вы можете использовать следующие форматы:

    • database_name.schema_name.table_name

    • database_name..table_name

    • schema_name.table_name

  • xml_column_name
    Имя таблицы, которая содержит XML-столбец, содержащий индексируемый путь.

Пример. ON Tbl(xmlcol)

Предложение USING XML INDEX

  • sxi_index_name
    Имя существующего селективного XML-индекса.

Пример. USING XML INDEX sxi_index

FOR, предложение

  • <xquery_or_sql_values_path>
    Имя индексируемого пути, по которому создается вторичный селективный XML-индекс. Путь для индексирования является присвоенным именем из инструкции CREATE SELECTIVE XML INDEX. Дополнительные сведения см. в разделе CREATE SELECTIVE XML INDEX.

Пример.

FOR
(
    pathabc
)

WITH, предложение

Замечания

Может быть несколько вторичных селективных XML-индексов в каждом XML-столбце базовой таблицы.

Ограничения

Для создания селективных XML-индексов для столбца необходимо, чтобы селективный XML-индекс для XML-столбца был уже создан.

Безопасность

Разрешения

Необходимо разрешение ALTER на таблицу или представление. Пользователь должен быть членом предопределенной роли сервера sysadmin или предопределенных ролей базы данных db_ddladmin и db_owner.

Примеры

В следующем примере создается вторичный селективный XML-индекс с путем 'pathabc'. Путь для индекса представляет собой присвоенное имя из инструкции CREATE SELECTIVE XML INDEX.

CREATE XML INDEX filt_sxi_index_c
ON Tbl(xmlcol)
USING XML INDEX sxi_index
FOR
(
    pathabc
)

См. также

Основные понятия

Выборочный XML-индекс (SXI)

Создание, изменение и удаление вторичных селективных XML-индексов