私はいくつかの全文カタログを持っていますが、しばらく前からクエリ時間が非常に遅くなりました。これまでに見つけた唯一の解決策は、コマンドを使用して 1 日に 1 回以上、カタログを再構築することでした。
ALTER FULLTEXT CATALOG TABLE1 REBUILD
カタログを再構築する必要があるのはなぜですか? この問題の他の解決策はありますか?
Rebuild コマンドを実行すると、クエリは瞬時に実行され、速度が低下すると数秒または 1 分かかる場合があります。
マイ カタログは、次のコードによって作成されています。
DECLARE @catalog VARCHAR(255)
DECLARE @pkCatalog VARCHAR(255)
SET @catalog = 'TABLE1'
SET @pkCatalog = 'PK_' + @catalog
EXEC sp_fulltext_database 'enable'
EXEC sp_fulltext_catalog @catalog, 'create'
EXEC sp_fulltext_table @catalog, 'create', @catalog, @pkCatalog
----------------------------------- INICIO CURSOR: cursorColumn
DECLARE cursorColumn CURSOR
FOR
select name from syscolumns where id=object_id(@catalog) and xtype = 167
FOR READ ONLY
OPEN cursorColumn
DECLARE @colName SYSNAME
FETCH NEXT FROM cursorColumn INTO @colName
WHILE (@@fetch_status <> -1)
BEGIN
EXEC sp_fulltext_column @catalog,@colName,'add'
FETCH NEXT FROM cursorColumn INTO @colName
END
CLOSE cursorColumn
DEALLOCATE cursorColumn
------------------------------------- FIM CURSOR: cursorColumn
EXEC sp_fulltext_table @catalog,'activate'
EXEC sp_fulltext_table @catalog, 'Start_change_tracking'
EXEC sp_fulltext_table @catalog, 'Start_background_updateindex'
GO