1

MicrosoftSQLServerの全文検索機能を使用したい。

City、Country、Departmentなどの他のテーブルを参照するテーブルClientがある場合は、非正規化データを保持する別のテーブルを作成して、フルテキストインデックスを作成するか、すべての外部テーブルのダミー値(たとえば、キー-1)を使用して、クライアントテーブルのNULLを対応するダミー値に置き換え、インデックス付きビューを作成します(これらのダミーエントリは、インデックス付きビューと'innerの使用によるものです。 'left join'の代わりにjoin')してから、このインデックスビューにフルテキストインデックスを作成しますか?

後者の場合、クライアント、または外部テーブル(City、Country、Departmentなど)でレコードが変更されるたびに、「非正規化」テーブルにデータが入力されることを心配する必要はありません。

または、上記のどれでもない場合は、いくつかの新しいアイデアを使用することもできます:)

4

1 に答える 1

4

上記のどれでもない。

データを正規化して、正規化されたテーブルごとに個別のFTインデックスを作成します。データをクエリするときは、関連するテーブルをクエリします。クエリを複数のテーブルにまたがる場合(たとえば、City、Country、Departmentのいずれかに「York」が含まれている場合)、通常のクエリUNION演算子を使用して複数のテーブルにまたがる検索を集約します。これがFTの動作方法であるため、機能の動作とデザインを一致させてください。騙そうとしないでください、あなたは自分自身を燃やすだけです。

于 2010-08-15T16:11:59.080 に答える