今天在写一个工程时,发现sqlite使用query的insertOrThrow记录插入接口时发现,单条记录插入时间在10-30ms之间,插入操作中有查询数据库操作(判重),如此上千条数据操作时间岂不亚历山大,google后发现android的数据库事务处理机制导致的,对于批量的上百条记录插入、删除、修改操作,在批量开始时要启动事务,完毕后提交此次事务并结束该事务:
解决方法:
//数据插入操作之前
dataBase.beginTransaction();//手动设置开始事务
//数据插入操作循环
while();
//操作完毕
dataBase.setTransactionSuccessful();//设置事务处理成功,不设置会自动回滚不提交
dataBase.endTransaction();//处理完成
感谢http://blog.csdn.net/pandarick/article/details/7385851提供的解决方案。 原文链接:https://www.f2er.com/sqlite/201526.html