在已通过现有选择性 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
)