Поделиться через


sys.fulltext_index_fragments (Transact-SQL)

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

Имя столбца

Тип данных

Описание

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 означает, что фрагмент является частью логического полнотекстового индекса и к нему можно выполнять запросы; это запрашиваемый фрагмент.

Замечания

Представление каталога 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 в базе данных AdventureWorks2008R2, введите:

USE AdventureWorks2008R2;
GO
ALTER FULLTEXT CATALOG ftCatalog REORGANIZE;
GO

Разрешения

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