从网上查的资料,对sqlite使用事务会很大程度的提高读写速度,但是有一点我还不太明白。 比如,我开始一个事务,对表a的b行的某个值自加1,不提交事务,然后再读取表a的b行的这个值,那么这个值是加之前的值,还是加1后的值呢?如果是之前的值,是不是这种情况就不可以使用事务?还有保存在内存里的数据库能不能保存到本地?
这种简单的问题以后根本就没必要问,
直接试一下不就知道了?
sqlite的事务和其他数据库的不同, 它是基于文件整体加入写锁, 同一时间只有一个线程能成功开启事务锁定文件, 其他的都要等待. 这种情况下, sqlite是不考虑并发的更新所以一股脑只管自己写入速度当然快了很多, 如果你不明白事务的本质是个什么星系最好先恶补一下基础再来...
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。