`
woodn_z
  • 浏览: 44320 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
文章分类
社区版块
存档分类
最新评论

Android SQLite插入优化

阅读更多
最近由于项目的需要,需要提高项目中数据的入库性能,通过优化,发现入库方法不同,效率真的差距很大。

最初代码如下,直接执行sql语句,外加事务提升性能:

SQLiteDatabase database = new SQLiteDatabase();
if (database.isOpen()) 
{
    database.beginTransaction();
    try {
         //sql为insert into tableName (name) values ("test")
	    database.execSQL(sql);
    }
        database.setTransactionSuccessful();
    } finally {
        database.endTransaction();
    }
    database.close();
}



优化如下:
SQLiteDatabase database = new SQLiteDatabase();
//sql为insert into tableName (name) values (?)
SQLiteStatement sqlListStatment = database.compileStatement(sql);
if (database.isOpen()) 
{
    database.beginTransaction();
    try {
        //index 为1开始索引,value为入库的值
        //bingXXX为插入XXX类型
	     sqLiteStatement.bindString(index, value);
	     sqLiteStatement.executeInsert();
    }
        database.setTransactionSuccessful();
    } finally {
        database.endTransaction();
    }
    database.close();
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics