4

我在一个 SQL 2005 机器上构建了一个全文目录,在它重新构建过程完成后,运行速度非常慢。我已经实现了一个 hack(即 try...catch{do again}),这样我的用户就不会收到超时错误;这让我内心感觉很糟糕。所有后续查询都快如闪电。

有没有人遇到过这个问题并且有/是否有解决方案?谢谢!

PS是的,我已经谷歌了很多次。即使用我的左手。

4

5 回答 5

2

它也可能是由我们经历过的这个 Sql Server '特性'引起的。

在没有 Internet 访问权限的服务器上运行的 SQL Server 2005 实例中运行全文查询时,您可能会遇到 45 秒的延迟

http://support.microsoft.com/default.aspx/kb/915850

于 2009-01-06T16:32:34.023 回答
1

这可能不是您问题的直接答案,但在 mssql 上的全文搜索已涵盖在 stackoverflow 播客系列中,结论是这不是最好的事情 :)

因此,如果您能够将其更改为 3rd 方库,您可以尝试 jeff & co. 使用的 Apache Lucene 库。Java 版本在http://lucene.apache.org/java/docs/和 .net 端口在http://incubator.apache.org/lucene.net/

于 2008-10-15T14:44:36.107 回答
0

我也有这个。第一次打很慢,休息很快。试了各种办法都解决不了。

很想知道这个问题的答案。

于 2008-10-09T13:55:10.527 回答
0

您可以通过“设置启动后台更新索引”和“启动更改跟踪”(每个单词之间应该有一个下划线)在每个全文索引的表上避免完全重建索​​引。

这允许 sql server 仅在需要时使用更改来更新索引。由于未重建索引,因此它可能会对您的问题有所帮助。

于 2008-10-14T16:43:51.747 回答
0

我支持 Lucene.Net 的建议。我以前曾尝试使用全文搜索和 SQL 构建各种“搜索引擎”。当搜索条件变得复杂并且经常查询会超时时,总是会出现问题。在我的新站点上,我使用 Lucene.Net 项目构建了搜索引擎,它运行得非常好,并且比 SQL FTS 快得多。

于 2008-10-16T00:20:35.180 回答