0

SQL Server 2012 を使用して、現在数十万行のテーブルがあり、今後さらに大きくなります。

このテーブルには、医療記録番号 (MRN) の値を含む nvarchar(30) フィールドがあります。これらの値は、ほぼすべての英数字の値にすることができますが、単語ではありません。

例えば、

DR-345687
34568523
*45612345;T

私のアプリケーションでは、エンド ユーザーは検索フィールドに「456」などの値を入力できます。アプリケーションは、サンプル レコードの 3 つすべてを返す必要があります。

field.Contains('456')現在、Entity Framework 5.0 を使用しており、検索の種類を尋ねています。

テーブル検索を行っているように見えるため、これが返されるまでには常に 3 ~ 5 秒かかります。

私の質問は次のとおりです。この列に全文索引を作成すると、パフォーマンスが向上しますか? 大量のデータが含まれている唯一のデータベースのコピーが現在 QA 試験中であるため、まだ試していません。

フルテキスト インデックスのドキュメントを見ると、フィールド値の個別の単語に合わせて最適化されているように見えるため、クエリのパフォーマンスにどのように影響するかを知らずにインデックスを作成するためにパフォーマンス ヒットを取ることをためらっています。

4

1 に答える 1

1

EF は、SQL Server のフル テキスト インデックス ( http://msdn.microsoft.com/en-us/library/ms142571.aspx#queries )にアクセスするために必要な T-SQL キーワードを使用しないため、これがなければソリューションは機能しません。より多くの仕事。

FTI を使用してデータを取得するには SProc を作成し、EF にこれを呼び出させる必要があると思います。同様の問題があり、結果を知りたいです。

アンディ

于 2013-06-27T11:47:27.323 に答える