CREATE XML INDEX(选择性 XML 索引)
在已通过现有选择性 XML 索引建立索引的单个路径上创建新的辅助选择性 XML 索引。 您还可以创建主要选择性 XML 索引。 有关信息,请参阅创建、更改和删除选择性 XML 索引。
适用范围:SQL Server(SQL Server 2012 到当前版本)。 |
语法
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
)
参数
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 索引,然后才能对该列创建辅助选择性 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 );