1

通常のテーブルと FTS テーブルを結合するのは良い考えですか? FTS テーブルの本来のパフォーマンスに影響するかどうか知りたいですか? もちろん、クエリは間違いなく MATCH 句を使用しています。

4

1 に答える 1

4

A2 つのテーブルとを結合する場合B、SQLite はテーブル内のテーブルから一致するレコードを検索するか、テーブルA内のテーブルBから一致するレコードを検索する必要がBありますA

テーブルにインデックスがある場合、AまたはBこれらのルックアップが高速になる場合、結合は高速です。両方のテーブルにインデックスがある場合、SQLite はより効率的であると推定した方を選択します。

したがって、あなたの質問に答えるために: FTS テーブルとの結合は、次のいずれかの場合にパフォーマンスが向上します。

  • を使用してフィールドを FTS フィールドに結合するか、FTSMATCHテーブルのを結合します。rowid
  • FTS フィールドを他のテーブルでインデックス付けされたフィールドに結合します。

これを確認するには、 を使用しますEXPLAIN QUERY PLAN

于 2012-10-15T08:00:54.237 に答える