小编典典

在Android中读取未提交的交易

sql

我发生了繁重的数据库操作,这使我的数据库增加了大约10,000条记录。由于这可能需要很长时间,因此最好使用事务。

db.startTransaction();
....
do write operations.
....
db.setTransactionSuccessful();
db.endTransaction();

现在,我在事务内部进行了一些读取操作,并且由于直到endTransaction才提交插入操作,因此不会获取这些记录。我听说过一种叫做“事务隔离级别”的东西,它使我们也可以读取脏的(未提交的)记录。任何想法如何做到这一点?


阅读 173

收藏
2021-04-22

共1个答案

小编典典

我发现默认情况下,您将能够读取尚未提交的记录。尽管如果使用,此操作将失败SQliteOpenHelper。这是因为SQliteOpenHelper给出2个单独的处理(读和写),并且未提交的写将无法从另一个句柄读取。因此,如果您想读取未提交的记录,请使用SQLiteDatabaseclass。

2021-04-22