Condividi tramite


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.

Icona di collegamento a un argomento 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

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

Indici XML selettivi

Creare, modificare o eliminare indici XML selettivi secondari