CREATE XML INDEX(选择性 XML 索引)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
在已通过现有选择性 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.table_name | schema_name.table_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
)
参数
index_name
要创建的新索引的名称。 索引名称在表中必须唯一,但在数据库中不必唯一。 索引名称必须符合标识符的规则。
ON <table_object> 是包含要建立索引的 XML 列的表。 您可以使用下列格式:
database_name.schema_name.table_name
database_name..table_name
schema_name.table_name
xml_column_name
包含要建立索引的路径的 XML 列的名称。
USING XML INDEX sxi_index_name
现有选择性 XML 索引的名称。
FOR (<xquery_or_sql_values_path>) 是要在其上创建辅助选择性 XML 索引的已建立索引的路径名称。 要建立索引的路径是从 CREATE SELECTIVE XML INDEX 语句分配的名称。 有关详细信息,请参阅 CREATE SELECTIVE XML INDEX (Transact-SQL)。
WITH <index_options> 有关索引选项的信息,请参阅 CREATE XML INDEX。
注解
对于基表中的每个 XML 列,可能有多个辅助选择性 XML 索引。
限制和局限
XML 列中必须存在选择性 XML 索引,然后才能对该列创建辅助选择性 XML 索引。
安全性
权限
要求对表或视图具有 ALTER 权限。 用户必须是 sysadmin 固定服务器角色的成员,或者是 db_ddladmin 和 db_owner 固定数据库角色的成员。
示例
下面的示例对路径 pathabc
创建辅助选择性 XML 索引。 建立索引的路径是从 CREATE SELECTIVE XML INDEX (Transact-SQL) 语句分配的名称。
CREATE XML INDEX filt_sxi_index_c
ON Tbl(xmlcol)
USING XML INDEX sxi_index
FOR ( pathabc );