3

SQL Server 2008 R2 データベースにテーブルがあります

Article (Id, art_text)

Id は主キーです。art_text には全文索引があります。

次のような「家」という単語を含む最新の記事を検索します。

SELECT TOP 100 Id, art_text 
FROM Article
WHERE CONTAINS(art_text, 'house')
ORDER BY Id DESC

これは正しい結果を返しますが、遅いです (~5 秒)。テーブルには 2,000 万行あり、そのうち 350,000 行に house という単語が含まれています。クエリ プランを見ると、フルテキスト インデックスによって返された 350,000 個の ID に対してクラスター化インデックスでインデックス スキャンが実行されていることがわかります。

「house」という単語を含むフルテキスト インデックスの最新の 100 エントリのみを取得する方法があれば、クエリははるかに高速になります。クエリが高速になるようにこれを行う方法はありますか?

4

1 に答える 1