我发生了数据库繁重的操作,它为我的数据库增加了大约10,000条记录.由于这可能需要很长时间,因此最好使用交易.
db.startTransaction();
....
do write operations.
....
db.setTransactionSuccessful();
db.endTransaction();
现在,我在事务中有一些读取操作,并且由于插入在endTransaction之前未提交,因此不会获取这些记录.我听说过一种称为事务隔离级别的东西,它使我们能够读取脏(未提交)记录.知道怎么做吗?
解决方法:
我建议调用SQLite的SQL语句pragma:
database.execSQL("PRAGMA read_uncommitted = true;");
该语句表示查询将使用事务隔离级别READ_UNCOMMITTED而不是READ_SERIALIZABLE(默认的SQLite模式).
寻找实例here
原文地址:https://codeday.me/bug/20190606/1189235.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。