我有一个onCreate,当前打开一个sqlite数据库并读取4个值。然后我有一个条件,并根据哪些活动发送它在那里显示这些值或更新两个值,然后显示另一个。Android提高SQLite性能优化
现在,如果我在不更新数据库的情况下运行此活动,它闪电般快速。而如果我运行两个查询来写入数据库,它可能会很慢。有什么我能做的,以优化这一点。
问题是显示会停留在上一个活动,直到sqlite更新完成。这似乎是问题所在。
对不起,最有可能是垃圾的解释。请随时要求我更好地描述任何事情。
任何帮助表示赞赏。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reason);
//Opens DB connection
type = b.getString("TYPE");
get();
if(type.equals("next")){ update();}
db.close();
}
public void get(){
Cursor b = db.rawQuery("SELECT * FROM " +
DB_TABLE2 +" WHERE _id='1'" , null);
b.moveToFirst();
id = b.getInt(b.getColumnIndex("nextq"));
nextvalue = b.getInt(b.getColumnIndex(type));
if(nextvalue==0){nextvalue=1;}
b.close();
nextvalue ++;
}
public void update(){
db.execSQL("UPDATE "
+ DB_TABLE2
+ " SET nextq='" + nextvalue + "'"
+ " WHERE _id='1'");
db.execSQL("UPDATE "
+ DB_TABLE
+ " SET answered_correctly='" + anscorrect +"' , open ='1' WHERE _id='" + id + "'");
}
数据库有多大?我很惊讶你可以注意到两个简单的更新语句的滞后,有些东西似乎很腥。 – dmon
它只有100行。这就是为什么即时通讯咨询它似乎很奇怪。 – Somk