高效匹配索引SQLite字段的第一个字符

高效匹配索引SQLite字段的第一个字符,sqlite,optimization,indexing,full-text-search,Sqlite,Optimization,Indexing,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) ) 该程序将长字符串存储在article.body中,对于字符串中的每

我在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
中,对于字符串中的每个单词,它将该单词的小写版本与
article\u word
中文章的
rowid
一起存储

我想让用户通过单词中第一个不区分大小写的字符来搜索文章,因此搜索
baz
会生成一篇包含
foobar-bazzux-spambacon
的文章

如何修改表/添加更多表(如有必要)并以最佳方式查询表中的匹配项?做

从文章a中选择a.rowid、a.body,其中w.word如“baz%”和a.rowid=w.article\u rowid


利用
article\u word.word上的
主键
索引
还是它会天真地搜索每一行?

使用NSPredicate根据您的
您还可以像在核心数据中一样使用Sqlite进行映射。

为什么不使用Sqlite的?