Jor*_*dan 2 sqlite indexing optimization full-text-search
我在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)
)
Run Code Online (Sandbox Code Playgroud)
程序商店长字符串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还是天真地搜索每一行?
| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |