sys.fulltext_index_fragments (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Полнотекстовый индекс использует внутренние таблицы, называемые фрагментами полнотекстового индекса, для хранения инвертированных данных индекса. Это представление может использоваться для запросов к метаданным об этих фрагментах. Представление содержит строку для каждого фрагмента полнотекстового индекса в каждой таблице, содержащей полнотекстовый индекс.

Имя столбца Тип данных Description
table_id int Идентификатор объекта таблицы, содержащей фрагмент полнотекстового индекса.
fragment_object_id int Идентификатор объекта внутренней таблицы, связанной с данным фрагментом.
fragment_id int Логический идентификатор фрагмента полнотекстового индекса. Этот идентификатор уникален среди всех фрагментов данной таблицы.
TIMESTAMP timestamp Отметка времени создания фрагмента. Отметки времени создания более новых фрагментов больше, чем отметки времени более старых фрагментов.
data_size int Логический размер фрагмента в байтах.
row_count int Количество индивидуальных строк фрагмента.
статус 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  

Разрешения

Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение.

См. также

Представления каталога объектов (Transact-SQL)
Заполнение полнотекстовых индексов