我创建了一个搜索20000条记录的程序。 我在
中实现了这个搜索edit.addTextChangedListener(new TextWatcher() {...}
当用户输入字符搜索查询execute.but很慢返回答案。
这是我的记录表:
id, prodname, proddet, prodid, refid
这是我的搜索查询:
SELECT DISTINCT prodname , prodid FROM tblProd where ((prodname like '%"+name+"%') or (proddet like '%"+name+"%') and (prodname IS NOT NULL)) LIMIT 20;
我的表格也是fts3,并使用此查询进行搜索:
SELECT DISTINCT prodname , prodid FROM tblProd where (tblProd MATCH '"+name+"*') LIMIT 20
但速度和其他表一样慢。
任何人都可以帮助我毫不拖延地加快搜索速度。 抱歉我的英语不好。
答案 0 :(得分:0)
在FTS表中,唯一有效的搜索是使用MATCH。
如果您没有重复的产品ID,请删除DISTINCT(需要在应用LIMIT之前读取所有行)。