precompute rank オプション

更新 : 2006 年 7 月 17 日

top_n_by_rank パラメータを指定している FREETEXTTABLE クエリのパフォーマンスを向上させる場合に、サーバーレベルの拡張オプション precompute rank を使用します。このオプションは、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 の参考資料の入手