我发生了繁重的数据库操作,这使我的数据库增加了大约10,000条记录。由于这可能需要很长时间,因此最好使用事务。
db.startTransaction(); .... do write operations. .... db.setTransactionSuccessful(); db.endTransaction();
现在,我在事务内部进行了一些读取操作,并且由于直到endTransaction才提交插入操作,因此不会获取这些记录。我听说过一种叫做“事务隔离级别”的东西,它使我们也可以读取脏的(未提交的)记录。任何想法如何做到这一点?
我发现默认情况下,您将能够读取尚未提交的记录。尽管如果使用,此操作将失败SQliteOpenHelper。这是因为SQliteOpenHelper给出2个单独的处理(读和写),并且未提交的写将无法从另一个句柄读取。因此,如果您想读取未提交的记录,请使用SQLiteDatabaseclass。
SQliteOpenHelper
SQLiteDatabase