Ice Asked: 2010-03-28 14:10:46 +0800 CST2010-03-28 14:10:46 +0800 CST 2010-03-28 14:10:46 +0800 CST SQL2000 和 SQL2008 上的全文搜索的最大区别是什么 772 我在 sql2008 上运行激活全文搜索的给定数据库的第一次测试失败,结果令人毛骨悚然。sql2008比sql2000耗时好几倍,为什么呢? sql-server-2008 full-text-search 2 个回答 Voted Best Answer mrdenny 2010-03-29T15:15:22+08:002010-03-29T15:15:22+08:00 SQL 2000 和 SQL 2008 中的全文引擎完全不同。 在 SQL 2000 中,当您向数据库提交全文查询时,它会搜索整个全文索引并将所有匹配的行返回给全文查询,然后使用正常过滤将这些行与查询返回的行进行过滤您作为表格过滤器提供。 在 SQL 2008 中,首先应用表过滤器,然后将这些 rowId 发送到全文搜索,并针对与表搜索匹配的行运行全文搜索。 您可能需要重写查询以提高不同版本的查询性能。 同样在 SQL 2008 中,全文索引存储在 SQL 数据文件中,搜索由 SQL Server 引擎执行。在 SQL Server 2000 中,全文索引存储在数据库文件之外,索引的搜索由索引服务器处理。 Vendoran 2010-04-14T17:18:30+08:002010-04-14T17:18:30+08:00 有关更多信息,您可以在此处查看 Brent 的不同之处以及受影响的 StackOverflow 的经验
SQL 2000 和 SQL 2008 中的全文引擎完全不同。
在 SQL 2000 中,当您向数据库提交全文查询时,它会搜索整个全文索引并将所有匹配的行返回给全文查询,然后使用正常过滤将这些行与查询返回的行进行过滤您作为表格过滤器提供。
在 SQL 2008 中,首先应用表过滤器,然后将这些 rowId 发送到全文搜索,并针对与表搜索匹配的行运行全文搜索。
您可能需要重写查询以提高不同版本的查询性能。
同样在 SQL 2008 中,全文索引存储在 SQL 数据文件中,搜索由 SQL Server 引擎执行。在 SQL Server 2000 中,全文索引存储在数据库文件之外,索引的搜索由索引服务器处理。
有关更多信息,您可以在此处查看 Brent 的不同之处以及受影响的 StackOverflow 的经验