android sqlite应用优化(资料整理)

1.  优化插入速度

  a.不要绑定空列   

  • 在我的程序,至少有50%的列是空值。碰到空值列,就不调用ih.bind()方法对它进行绑定,就我的程序而言,当列值为null或者空的字符串是,  
  • 有将近30%的性能提升  

  b.临时关闭sqlitedatabase的同步锁检查功能   

  • 我在SQLiteOpenHelper.onCreate的方法中load数据库,在此期间,假如只有一个线程访问databaser,那么就不需要sqlite进行同步访问检查  
  • 所以,调用SQLiteDatabase.setLockingEnabled(false) ,暂时将锁检查关闭。这个措施可以有35%的速度提升  

 

  c.  SQLiteStatement :进行批量插入数据。

String sql = "insert into表名(对应的列) values(?)";
SQLiteStatement stat = db.compileStatement(sql);
db.beginTransaction();
for (数据集) {
  //循环所要插入的数据
}
db.setTransactionSuccessful();
db.endTransaction();
db.close();

 

posted @ 2015-11-02 00:14  北斗极星  阅读(156)  评论(0编辑  收藏  举报