在已由現有選擇性 XML 索引建立索引的單一路徑上,建立新的次要選擇性 XML 索引。
如需詳細資訊,請參閱下列主題:
您也可以建立主要選擇性 XML 索引。 如需詳細資訊,請參閱<建立、修改和卸除選擇性 XML 索引>。
語法
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 子句
- <index_options>
如需有關索引選項的詳細資訊,請參閱<CREATE XML INDEX (選擇性 XML 索引)>。
備註
基底資料表中的每個 XML 資料行可以擁有多個次要選擇性 XML 索引。
限制事項
XML 資料行上必須先有選擇性 XML 索引,才能在該資料行上建立次要選擇性 XML 索引。
安全性
權限
需要資料表或檢視的 ALTER 權限。 使用者必須是系統管理員 (sysadmin) 固定伺服器角色的成員,或是 db_ddladmin 和 db_owner 固定資料庫角色的成員。
範例
下列範例會在 'pathabc' 路徑上建立次要選擇性 XML 索引。 索引路徑是來自 CREATE SELECTIVE XML INDEX 的指派名稱。
CREATE XML INDEX filt_sxi_index_c
ON Tbl(xmlcol)
USING XML INDEX sxi_index
FOR
(
pathabc
)