適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
この記事では、新しい選択的 XML インデックスの作成や、既存の選択的 XML インデックスの変更または削除を行う方法について説明します。
選択的 XML インデックスの詳細については、「選択的 XML インデックス (SXI)」を参照してください。
選択的 XML インデックスの作成
CREATE SELECTIVE XML INDEX ステートメントを呼び出して、Transact-SQLを使用して選択的 XML インデックスを作成します。 詳細については、「 CREATE SELECTIVE XML INDEX (Transact-SQL)」を参照してください。
次の例では、選択的 XML インデックスを作成するための構文を示しています。 また、インデックスを作成するパスと省略可能な最適化ヒントを指定する構文のいくつかのバリエーションを示します。
CREATE SELECTIVE XML INDEX sxi_index
ON Tbl(xmlcol)
FOR(
pathab = '/a/b' as XQUERY 'node()'
pathabc = '/a/b/c' as XQUERY 'xs:double',
pathdtext = '/a/b/d/text()' as XQUERY 'xs:string' MAXLENGTH(200) SINGLETON
pathabe = '/a/b/e' as SQL NVARCHAR(100)
)
選択的 XML インデックスを変更する
ALTER INDEX ステートメントを呼び出して、Transact-SQLを使用して既存の選択的 XML インデックスを変更します。 詳細については、「 ALTER INDEX (選択的 XML インデックス)」を参照してください。
次の例は、 ALTER INDEX ステートメントを示しています。 このステートメントは、インデックスの XQuery 部分に'/a/b/m'パスを追加し、記事 '/a/b/e' (Transact-SQL) の例で作成したインデックスの SQL 部分からCREATE SELECTIVE XML INDEXパスを削除します。 削除するパスは、作成時に指定された名前によって識別されます。
ALTER INDEX sxi_index
ON Tbl
FOR
(
ADD pathm = '/a/b/m' as XQUERY 'node()' ,
REMOVE pathabe
)
選択的 XML インデックスを削除する
DROP INDEX ステートメントを呼び出して、Transact-SQLを使用して選択的 XML インデックスを削除します。 詳細については、「 DROP INDEX (選択的 XML インデックス)」を参照してください。
次の例は、 DROP INDEX ステートメントを示しています。
DROP INDEX sxi_index ON tbl