我的第一次测试获得了运行在sql2008上的具有激活的完全文本搜索的给定数据库,结果失败了。sql2008花了好几次sql2000时间,但为什么呢?
发布于 2010-03-28 23:15:22
SQL 2000和SQL 2008中的全文引擎完全不同。
在SQL 2000中,当您向数据库提交全文查询时,它将搜索整个全文索引,并将所有匹配的行返回给全文查询,然后使用作为表筛选器提供的常规筛选,根据查询返回的行筛选那些行。
在SQL 2008中,首先应用表筛选器,然后将这些rowIds发送到全文搜索,然后针对匹配表搜索的行运行全文搜索。
您可能需要重写查询,以提高不同版本的查询性能。
另外,在SQL 2008中,全文索引存储在SQL数据文件中,搜索由Server引擎执行。在server 2000中,全文索引存储在数据库文件之外,索引服务器对索引进行搜索。
发布于 2010-04-14 01:18:30
有关更多信息,您可以看到布伦特的经验与差异,以及如何受影响的StackOverflow 这里
https://serverfault.com/questions/126953
复制相似问题