2012-12-20 19 views
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,並且對於字符串中的每個單詞,它存儲的一個小寫版本字連同文章rowidarticle_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或者它天真地尋找每一行?

+0

爲什麼不使用SQLite的[內置全文搜索](http://sqlite.org/fts3.html)? –

回答

5

使用NSPredicate檢索特定的屬性根據您的 要求,您還可以像在覈心數據中那樣使用Sqlite進行映射。

相關問題