sys.fulltext_index_fragments (Transact-SQL)
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
フルテキスト インデックスは、フルテキスト インデックス フラグメントと呼ばれる内部テーブルを使用して、逆インデックス データを格納します。 このビューを使用すると、これらのフラグメントに関するメタデータをクエリできます。 このビューは、フルテキスト インデックスが含まれているすべてのテーブルのフルテキスト インデックス フラグメントごとに 1 行のデータを格納しています。
列名 | データ型 | 説明 |
---|---|---|
table_id | int | フルテキスト インデックス フラグメントが含まれているテーブルのオブジェクト ID。 |
fragment_object_id | int | フラグメントに関連付けられている内部テーブルのオブジェクト ID。 |
fragment_id | int | フルテキスト インデックス フラグメントの論理 ID。 テーブルのすべてのフラグメントで一意です。 |
timestamp | timestamp | フラグメントの作成に関連付けられているタイムスタンプ。 より新しいフラグメントのタイムスタンプは、古いフラグメントのタイムスタンプよりも大きくなります。 |
data_size | int | フラグメントの論理サイズ (バイト単位)。 |
row_count | int | フラグメント内の個々の行の数。 |
status | int | フラグメントの状態。次のいずれかです。 0 = 新たに作成され、まだ使用されていません。 1 = フルテキスト インデックスの作成またはマージ中に挿入に使用される 4 = 閉じています。 クエリの準備完了 6 = マージ入力のために使用されています。クエリを実行できます。 8 = 削除対象としてマークされます。 クエリおよびマージ ソースには使用されません。 状態が 4 または 6 の場合は、フラグメントが論理フルテキスト インデックスの一部であり、クエリを実行できることを意味します。つまり、クエリ可能なフラグメントです。 |
解説
sys.fulltext_index_fragments カタログ ビューを使用すると、フルテキスト インデックスを構成するフラグメントの数を照会できます。 フルテキスト クエリのパフォーマンスに問題がある場合は、次のように、sys.fulltext_index_fragments を使用してフルテキスト インデックス内のクエリ可能なフラグメント (状態が 4 または 6 のフラグメント) の数を照会します。
SELECT table_id, status FROM sys.fulltext_index_fragments
WHERE status=4 OR status=6;
クエリ可能なフラグメントが多数存在する場合は、フルテキスト インデックスを含むフルテキスト カタログを再構成して、フラグメントを結合することをお勧めします。 フルテキスト カタログを再構成するには、ALTER FULLTEXT CATALOGcatalog_name REORGANIZE を使用します。 たとえば、データベースに名前が付けられた ftCatalog
フルテキスト カタログを再構成するには、次のように AdventureWorks2022
入力します。
USE AdventureWorks2022;
GO
ALTER FULLTEXT CATALOG ftCatalog REORGANIZE;
GO
アクセス許可
カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されたセキュリティ保護可能なリソースに限定されます。
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示