SQL全文查询太慢

问题描述

我有一些全文目录,并且自从前一段时间以来,查询时间确实变慢了,到目前为止,我发现的唯一解决方案是重建目录,有时每天使用命令执行一次以上:

ALTER FULLTEXT CATALOG TABLE1 REBUILD

为什么必须重建目录?还有其他解决方案吗?

运行Rebuild命令后,查询是瞬时的,减速时可能需要几秒钟或一分钟。

我的目录已通过以下代码创建:

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)