在Android中使用事务方法的数据库操作

时间:2014-03-31 14:09:11

标签: android sqlite

我正在Android中阅读SQLite,我发现有一些事务方法可以在Android SQLite上进行CRUD操作,同样的事情可以在没有事务方法的情况下完成。

交易方法:beginTransactionsetTransactionSuccessfullendTransaction

在什么情况下我们应该使用交易方法而非简单方法。

1 个答案:

答案 0 :(得分:1)

所有sqlite写入都在事务中。如果您没有自己明确地启动一个,那么将隐式启动并为您提交一个。语句完成后,此隐式事务将自动完成。 Further reading

通常,如果要将多个数据库操作组合为一个数据库操作以维护数据模型的ACID属性,则需要显式事务。因此,您还可以获得性能优势,因为您不需要在每个语句之后等待I / O,仅在提交时。

值得注意的是,sqlite不支持嵌套事务,但Android sqlite API使用嵌套级别计数来模拟它们。因此,当提交或回滚最外层事务时,任何嵌套的Android sqlite事务都会提交或回滚。