FTS3を有効にしてSQLiteテーブルにバイナリデータを保存する方法は?

StackOverflow https://stackoverflow.com/questions/4176260

  •  09-10-2019
  •  | 
  •  

質問

通常のSQLiteデータベースを使用することから、フルテキスト検索が有効になっているアプリケーションにアプリケーションを移行しています。デジタル署名のようなものを保存するいくつかのBlob列があり、明らかにインデックスを作成する必要はありません。他の人は、必要に応じてFTS3テーブルと内部が結合する別の非FTS3テーブルにすべての非テキストデータを移動することでこれを解決することを読みましたが、これは非常に不可能なソリューションです。インデックスから特定の列を単に除外する方法はありませんか?

役に立ちましたか?

解決

それは不可分ではありません。 SQLはリレーショナルであり、結合は人生の自然な部分です。それらが「不可分」だと考えることは、ステレオタイプのデータベースデザインにつながるものです。

2種類のデータがあると判断しました。検索する必要があるテキストと、しない塊です。これらを2つの異なるテーブルに保存することについて、何も悪いことではありません。

他のヒント

選択できる結合のビューを作成することで、それをあまり手間をかけることができます。 FTSテーブルに由来する列でマッチを使用することもできます。また、クエリをするたびに参加する必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top