加速我在android sqlite中的搜索查询?

时间:2014-12-03 14:30:49

标签: android sqlite search

我创建了一个搜索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

但速度和其他表一样慢。

任何人都可以帮助我毫不拖延地加快搜索速度。 抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

在FTS表中,唯一有效的搜索是使用MATCH。

如果您没有重复的产品ID,请删除DISTINCT(需要在应用LIMIT之前读取所有行)。