2012-02-26 82 views
0

我想在Android上实现字典应用程序。当用户在EditText中输入一个字母(或删除一个字母)时,应用程序查询数据库,并显示EditText中文本开头的所有条目。由于我使用的数据库包含超过80000行,因此查询的性能不如我想要的。但是,当用户从EditText中删除字符时会出现真正的问题。因此我希望将Cursor对象存储在堆栈中。当用户删除一个字符时,应用程序从堆栈中弹出前一个光标并使用它。存储从SQLite查询返回的Cursor对象是不是一个好主意?在Android中存储SQLite Cursor是一个坏主意吗?

回答

2

SQL数据库可能根本就不是正确的工具,因为使用“like”的查询在关系数据库中并不真正表现出来。如果您通过为每个条目存储(和编制索引)前缀来使数据非规范化,您可能会获得更好的性能。不要忘记添加一种分数,优先考虑条目(例如,如果条目被选择给它更高的分数)

0

在你的情况下,我会说存储这么多的游标是一个坏主意。游标对象本身包含查询的所有结果。

相关问题