CREATE XML INDEX (indici XML selettivi)
Crea un nuovo indice XML selettivo secondario in un unico percorso già indicizzato da un indice XML selettivo esistente.
Per ulteriori informazioni, vedere gli argomenti seguenti:
È inoltre possibile creare indici XML selettivi primari. Per informazioni, vedere Creare, modificare o eliminare indici XML selettivi.
Convenzioni della sintassi Transact-SQL
Sintassi
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
)
Argomenti
Clausola CREATE
- index_name
Nome del nuovo indice che si desidera creare. I nomi degli indici devono essere necessariamente univoci all'interno di una tabella, ma non all'interno di un database. Devono inoltre essere conformi alle regole degli identificatori.
Ad esempio: CREATE XML INDEX filt_sxi_index_c
Clausola ON
<table_object>
Tabella contenente la colonna XML che si desidera indicizzare. È possibile utilizzare i formati seguenti:database_name.schema_name.table_name
database_name..table_name
schema_name.table_name
xml_column_name
Nome della colonna XML contenente il percorso che si desidera indicizzare.
Ad esempio: ON Tbl(xmlcol)
Clausola USING XML INDEX
- sxi_index_name
Nome dell'indice XML selettivo esistente.
Ad esempio: USING XML INDEX sxi_index
Clausola FOR
- <xquery_or_sql_values_path>
Nome del percorso indicizzato in cui creare l'indice XML selettivo secondario. Il percorso che si desidera indicizzare è il nome assegnato dall'istruzione CREATE SELECTIVE XML INDEX. Per ulteriori informazioni, vedere CREATE SELECTIVE XML INDEX.
Esempio:
FOR
(
pathabc
)
Clausola WITH
- <index_options>
Per informazioni sulle opzioni di indice, vedere CREATE XML INDEX (indici XML selettivi).
Osservazioni
In ogni colonna XML della tabella di base potrebbero essere presenti più indici XML selettivi secondari.
Limitazioni e restrizioni
Prima di poter creare indici XML selettivi secondari in una colonna , è necessario che per tale colonna esista un indice XML selettivo.
Sicurezza
Autorizzazioni
È richiesta l'autorizzazione ALTER per la tabella o la vista. L'utente deve essere un membro del ruolo predefinito del server sysadmin o dei ruoli predefiniti del database db_ddladmin e db_owner.
Esempi
Nell'esempio seguente viene creato un indice XML selettivo secondario nel percorso 'pathabc'. Il percorso che si desidera indicizzare è il nome assegnato da CREATE SELECTIVE XML INDEX.
CREATE XML INDEX filt_sxi_index_c
ON Tbl(xmlcol)
USING XML INDEX sxi_index
FOR
(
pathabc
)
Vedere anche
Concetti
Creare, modificare o eliminare indici XML selettivi secondari