1) FirstName、LastName、および City というテキスト フィールドがあります。それらは全文索引付けされています。
2) フルテキスト インデックスではなく、FK int フィールドの AuthorId と EditorId もあります。
FirstName = 'abc' AND AuthorId = 1 で検索すると、最初にフルテキスト インデックス全体で 'abc' が検索され、次に AuthorId = 1 の結果セットが絞り込まれます。
適用できない多くのレコードに対して全文検索が実行されるため、リソースが大幅に浪費されるため、これは良くありません。
残念ながら、私の知る限り、FTS プロセスは SQL Server とは別であるため、これを回避することはできません (最初に AuthorId で絞り込み、次に一致するサブセットを全文検索します)。
今、私がフィードバックを求めている提案された解決策: Author をテキスト (例: AUTHORONE) として識別する全文検索に含まれる別の計算列を作成することは理にかなっていますか? そうすれば、AuthorId の制限を取り除き、代わりに全文検索の一部にすることができます (「abc」の検索は「abc」と「AUTHORONE」になり、すべて全文検索の一部として実行されます)。
これは良い考えですか?なんで?