sys.fulltext_index_fragments (Transact-SQL)
全文檢索索引會使用稱為「全文檢索索引片段」(Full-text Index Fragment) 的內部資料表來儲存反向索引資料。此檢視表可用來查詢有關這些片段的中繼資料,此檢視表針對每一個資料表內包含全文檢索索引的每一個全文檢索索引片段各包含一個資料列。
資料行名稱 |
資料類型 |
描述 |
---|---|---|
table_id |
int |
包含全文檢索索引片段之物件的物件識別碼。 |
fragment_object_id |
int |
與此片段相關聯之內部資料表的物件識別碼。 |
fragment_id |
int |
全文檢索索引片段的邏輯識別碼。這在此資料表的所有片段中是唯一的。 |
timestamp |
timestamp |
與片段建立有關聯的時間戳記。最近片段的時間戳記大於較舊片段的時間戳記。 |
data_size |
int |
片段的邏輯大小 (以位元組為單位)。 |
row_count |
int |
片段中個別資料列的數目。 |
status |
int |
片段的狀態,以下其中一項: 0 = 新建且尚未使用 1 = 在全文檢索索引母體擴展或合併期間用於插入 4 = 已關閉。準備查詢 6 = 用於合併輸入及準備查詢 8 = 標示為刪除。將不會用於查詢和合併來源。 4 或 6 的狀態表示,此片段是邏輯全文檢索索引的一部分,而且可查詢;也就是說,它是「可查詢」(Queryable) 片段。 |
備註
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;
如果有許多可查詢的片段存在,Microsoft 建議您重新組織包含全文檢索索引的全文檢索目錄,將這些片段合併在一起。若要重新組織全文檢索目錄,請使用 ALTER FULLTEXT CATALOGcatalog_name REORGANIZE。例如,若要重新組織 AdventureWorks2008R2 資料庫內名為 ftCatalog 的全文檢索目錄,請輸入:
USE AdventureWorks2008R2;
GO
ALTER FULLTEXT CATALOG ftCatalog REORGANIZE;
GO