一、背景:
前段时间开发一个项目,需要使用Android数据库做本地缓存,当时从服务断获取的数据有几千条,把数据插入到了数据库。
如果不使用事务,需要较长时间才能完成,效率很低,因为每插入一条数据系统会默认commit一次,那就会循环几千次,大大的降低了用户体验。使用事务-Transcation是很有必要的。
二、概述:
事务是数据库操作的的重要组成部分,事务允许将多条数据库操作语句视为一个单元。一个事务需要保证以下两种情况之一才会发生:
1.如果没有错误发生,所有的数据库语句都会被执行并且提交
2.如果在事务的任何一个执行点发生错误,整个事务都需要被回滚(rollback)
三、操作语句:
1.db.beginTransaction(); //循环之前开启事务
2.db.setTransactionSuccessful(); //循环结束后调用
3.db.endTransaction();//最后释放事务