SQLite に 2 つのテーブルがあります。
CREATE TABLE article (body TEXT)
CREATE TABLE article_word (
word TEXT,
article_rowid INTEGER,
FOREIGN KEY(article_rowid) REFERENCES article(rowid),
PRIMARY KEY(word, article_rowid)
)
プログラムは長い文字列をarticle.bodyに格納し、文字列内の単語ごとに、その単語の小文字バージョンを冠詞とともに に格納rowidしarticle_wordます。
単語の最初の大文字と小文字を区別しない文字でユーザーが記事を検索できるようにしたいので、 を検索するbazと を含む記事が得られますfoobar Bazquux spambacon。
テーブルを変更したり (必要に応じて) さらに追加したり、最適に一致するようにクエリを実行したりするにはどうすればよいですか? する
SELECT a.rowid, a.body FROM article a, article_word w WHERE w.word LIKE "baz%" AND a.rowid = w.article_rowid
PRIMARY KEYインデックスを利用するarticle_word.wordか、すべての行を単純に検索しますか?