2
我在SQLite的兩個表:有效地匹配索引的SQLite場的第一個字符
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
的文章。
如何修改表格/添加更多(如有必要)並最佳查詢匹配項目?是否PRIMARY KEY
指數
SELECT a.rowid, a.body FROM article a, article_word w WHERE w.word LIKE "baz%" AND a.rowid = w.article_rowid
趁上article_word.word
或者它天真地尋找每一行?
爲什麼不使用SQLite的[內置全文搜索](http://sqlite.org/fts3.html)? –