分享方式:


CREATE XML INDEX (選擇性 XML 索引)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體

在已由現有選擇性 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.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 權限。 使用者必須是 系統管理員 固定伺服器角色的成員,或是 db_ddladmindb_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 );  

另請參閱

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