共用方式為


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_ddladmindb_owner 固定資料庫角色的成員。

範例

下列範例會在 'pathabc' 路徑上建立次要選擇性 XML 索引。 索引路徑是來自 CREATE SELECTIVE XML INDEX 的指派名稱。

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

請參閱

概念

選擇性 XML 索引 (SXI)

建立、修改和卸除次要選擇性 XML 索引