sqlite查询600条数据就慢
我用sqlite查询了600条数据就很慢,预计要5秒左右,有这么慢嘛?还是我代码有问题?
请高手指点这个应该怎么写呀???
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS vcard" +
"(name VARCHAR PRIMARY KEY , info TEXT)");
}
public Map<String, String> queryAllCard(){
this.db = getReadableDatabase();
Map<String, String> map = new HashMap<String, String>();
Cursor c = db.query("card", null, null, null, null, null, null);
try {
while (c.moveToNext()) {
String name = c.getString(c.getColumnIndex("name"));
String info = c.getString(c.getColumnIndex("info"));
map.put(name, info);
}
c.close();
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
至于慢的原因 有很多 也可能是自身设备读写能力很差导致
另外代码规范有问题 先判别cursor是否为null 在cursor.moveToFirst() 在执行LZ的 并且在cursor.close()方法 最好在Finall里面处理