the*_*hee 2 java sqlite multithreading connection-pooling
我已经在多线程环境中阅读了几个关于SQLite的相关主题,但是我找不到一个明确的声明,所以请原谅我再次提出这个主题.
我需要从多个线程访问应用程序的数据库以执行更新语句.数据库本身可以是SQLite或MySQL,具体取决于用户的选择.对于MySQL处理程序,我使用tomcat-jdbc库实现了一个连接池.现在我正在搜索SQLite处理程序的最佳方法,因为正常的连接池不应该工作,因为SQLite一次只支持一个写入连接来锁定整个数据库.
我是否应该继续使用相同的连接(通过同步连接?)来创建所有线程?或者我应该使用已经存在的仅存在连接的tomcat库创建连接池?一个连接的连接池可能超大吗?
由于它是单文件嵌入式数据库,因此汇集几乎没有益处.
https://web.archive.org/web/20130410192252/http://sqlite.phxsoftware.com/forums/p/682/3034.aspx
由于原始网站已关闭,我将提供摘要:
我使用池连接实现了池化和1000个命令,并且池化速度更接近单连接速度.
Many non-pooled connections : 2875.0 ms
Many pooled connections : 93.8 ms
Pooled with reset : 546.9 ms
One Connection : 46.9 ms
Run Code Online (Sandbox Code Playgroud)
因此,共识是汇集不是非常有益.
http://www.sqlite.org/faq.html#q5
http://www.sqlite.org/threadsafe.html
| 归档时间: |
|
| 查看次数: |
6699 次 |
| 最近记录: |