precompute rank 选项

更新日期: 2006 年 7 月 17 日

使用 precompute rank 服务器级别高级选项可以提高指定了 top_n_by_rank 参数的 FREETEXTTABLE 查询的性能。此选项是一项优化策略,可在 SQL Server 计算查询时的 FREETEXTTABLE 排名时减少 CPU 资源的使用。该选项设置为 1 时,指定了 top_n_by_rank 的 FREETEXTTABLE 查询会使用存储在全文目录中的预计算排名数据。

用于 FREETEXTTABLE 查询与 CONTAINSTABLE 查询的排名计算类型之间存在明显区别。通过使用 SQL Server 2005 中的预计算排名优化,FREETEXTTABLE 查询可使用全文目录中存储的排名值而无需动态地计算这些值,所以使用 top_n_by_rank 参数的这些 FREETEXTTABLE 查询可将速度提高到接近 CONTAINSTABLE 查询的速度。

在使用预计算排名数据时,top_n_by_rank 返回的结果集可能与将 precompute rank 选项设置为 0 时返回的结果集包含的结果不同。在将 precompute rank 选项设置为 1 时,预计算并存储在全文目录中的排名可能与将 precompute rank 选项设置为 0 时动态计算的排名不同。

查看并设置 precompute rank 选项

默认情况下,此选项设置为 0 (FALSE)。若要查看或设置 precompute rank 选项的状态,请使用以下脚本。

-- To view advanced server-level options, first run this script if the 
-- show advanced option is not already set to 1, TRUE.
EXEC sp_configure 'show advanced option', '1';
GO
RECONFIGURE;
GO

-- To view the status of the precompute rank option
EXEC sp_configure;
GO

-- Or
SELECT *
FROM sys.configurations
WHERE name = N'precompute rank';
GO

-- To set the precompute rank option to TRUE
EXEC sp_configure 'precompute rank', '1';
GO
RECONFIGURE;
GO

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:
  • 扩展了结果集说明。
  • 添加了新示例。

请参阅

其他资源

FREETEXTTABLE (Transact-SQL)
sp_configure (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助