0

私はいくつかの全文カタログを持っていますが、しばらく前からクエリ時間が非常に遅くなりました。これまでに見つけた唯一の解決策は、コマンドを使用して 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
4

0 に答える 0