你的位置:首页 > 软件开发 > 数据库 > sqlite3 多线程和锁 ,优化插入速度及性能优化

sqlite3 多线程和锁 ,优化插入速度及性能优化

发布时间:2016-04-12 22:11:14
一、 是否支持多线程? SQLite官网上的“Is SQLite threadsafe?”这个问答。 简单来说,从3.3.1版本开始,它就是线程安全的了。而iOS的SQLite版本没有低于这个版本的,当然,你也可以自己编译最新版本。 ...
一、 是否支持多线程不过这个线程安全仍然是有限制的,在这篇《Is SQLite thread-safe?》里有详细的解释。现在3种模式都有所了解了,清楚SQLite并不是对多线程无能为力后,接下来就了解下事务吧。  数据库只有在事务中才能被更改。所有更改数据库的命令(除SELECT以外的所有SQL命令)都会自动开启一个新事务,并且当最后一个查询完成时自动提交。提到锁就不得不说到死锁的问题,而SQLite也可能出现死锁。不过要更好地解决这个问题,就必须更深入地了解事务了。而EXCLUSIVE方式则更为严苛,即使其他连接以DEFERRED方式开启事务也不会死锁:由此可见,要想保证线程安全的话,可以有这4种方式:

原标题:sqlite3 多线程和锁 ,优化插入速度及性能优化

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。