如何使用比较运算符来过滤SQLite中的数据

时间:2016-08-08 03:41:31

标签: android sqlite

我有一个数据库字典有大约50,000条记录。我创建了索引并使用它们来过滤数据。但是当我尝试使用Like运算符时,索引不起作用,当我在searchview中尝试使用输入键进行过滤时,如果没有在数据库中找到数据(数据加载到listview中,我也使用asynctask),它使我的应用程序变慢。我认为原因是索引不适用于Like运算符。所以我试图通过比较运算符更改我的选择查询。但这与我的想法无关。我希望它像是一样工作,但事实并非如此。所以任何人都知道在选择查询中我的错误是什么以及我如何解决它?

这是我使用比较运算符的选择查询

String selectQuery = "SELECT * FROM '"+TABLE_ENG_VIE+"' WHERE word >= '"+keyFilter+"'  LIMIT 20 OFFSET '"+offset+"'";

这是我使用LIKE运算符的选择查询

String selectQuery = "SELECT * FROM '"+TABLE_ENG_VIE+"' WHERE word LIKE '"+keyFilter+"%' LIMIT 20 OFFSET '"+offset+"'";

感谢您阅读我的问题,很抱歉,如果我解释不清楚,因为我的英语不好。再次感谢,祝你好运。

1 个答案:

答案 0 :(得分:0)

将您的查询更改为下方,根据我的意见,您在撰写LIKE条件

时遇到了错误
String qry = "SELECT * FROM '" + TABLE_ENG_VIE + "' WHERE word LIKE '%" + keyFilter + "%';";