2012-02-26 76 views
0

我想在Android上實現字典應用程序。當用戶在EditText中輸入一個字母(或刪除一個字母)時,應用程序查詢數據庫,並顯示EditText中文本開頭的所有條目。由於我使用的數據庫包含超過80000行,因此查詢的性能不如我想要的。但是,當用戶從EditText中刪除字符時會出現真正的問題。因此我希望將Cursor對象存儲在堆棧中。當用戶刪除一個字符時,應用程序從堆棧中彈出前一個光標並使用它。存儲從SQLite查詢返回的Cursor對象是不是一個好主意?在Android中存儲SQLite Cursor是一個壞主意嗎?

回答

2

SQL數據庫可能根本就不是正確的工具,因爲使用「like」的查詢在關係數據庫中並不真正表現出來。如果您通過爲每個條目存儲(和編制索引)前綴來使數據非規範化,您可能會獲得更好的性能。不要忘記添加一種分數,優先考慮條目(例如,如果條目被選擇給它更高的分數)

0

在你的情況下,我會說存儲這麼多的遊標是一個壞主意。遊標對象本身包含查詢的所有結果。

相關問題