通常のテーブルと FTS テーブルを結合するのは良い考えですか? FTS テーブルの本来のパフォーマンスに影響するかどうか知りたいですか? もちろん、クエリは間違いなく MATCH 句を使用しています。
質問する
2665 次
1 に答える
4
A
2 つのテーブルとを結合する場合B
、SQLite はテーブル内のテーブルから一致するレコードを検索するか、テーブルA
内のテーブルB
から一致するレコードを検索する必要がB
ありますA
。
テーブルにインデックスがある場合、A
またはB
これらのルックアップが高速になる場合、結合は高速です。両方のテーブルにインデックスがある場合、SQLite はより効率的であると推定した方を選択します。
したがって、あなたの質問に答えるために: FTS テーブルとの結合は、次のいずれかの場合にパフォーマンスが向上します。
- を使用してフィールドを FTS フィールドに結合するか、FTS
MATCH
テーブルのを結合します。rowid
- FTS フィールドを他のテーブルでインデックス付けされたフィールドに結合します。
これを確認するには、 を使用しますEXPLAIN QUERY PLAN
。
于 2012-10-15T08:00:54.237 に答える