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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Создает новый вторичный селективный 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.table_name | schema_name.table_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  
)  

Аргументы

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

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

  • database_name.schema_name.table_name

  • database_name..table_name

  • schema_name.table_name

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

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

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

WITH <index_options> Сведения о параметрах индекса см. в статье CREATE XML INDEX.

Замечания

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

Ограничения

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

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

Разрешения

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

Примеры

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

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

См. также

Выборочный XML-индекс (SXI)
Создание, изменение и удаление вторичных селективных XML-индексов