我第一次testing得到一个给定的数据库与激活全文search运行在sql2008上失败的结果,它蠕变。 sql2008花了几个时间的sql2000,但为什么?
SQL 2000和SQL 2008中的全文引擎完全不同。
在SQL 2000中,当您向数据库提交全文查询时,它将search整个全文索引,并将所有匹配的行全部返回到全文查询,然后使用正常的过滤对查询返回的行进行过滤你提供的表格filter。
在SQL 2008中,首先应用表filter,然后将这些rowId发送到全文search,然后对与表search匹配的行运行全文search。
您可能需要重新编写查询以提高不同版本的查询性能。
同样在SQL 2008中,全文索引存储在SQL数据文件中,search由SQL Server引擎执行。 在SQL Server 2000中,全文索引存储在数据库文件之外,索引服务器处理索引search。
对于一些进一步的信息,你可以看到布伦特的经验与差异,以及如何受影响的StackOverflow 在这里