【发布时间】:2013-09-14 15:39:05
【问题描述】:
我有一个从 SQLite 数据库中提取数据的 Java servlet(在 Tomcat 中运行)。我正在使用 Xerial 驱动程序从我的 servlet 访问 SQLite 数据库。
当移动应用程序请求信息时,此 servlet 会提取数据。
该数据库仅用作只读(每天生成一次),但它包含大量数据(主表包含 200 000 行,而我还有一个超过 10 000 000 行的表)。我为经常使用的列创建了索引。
我需要建议来优化 SQLite 数据库的使用,以提高服务器的响应能力。
对于每个请求,我都会创建一个新的数据库连接,然后发送 SQL 选择、提取数据并关闭连接。这是一个好的策略吗?我可以有许多并行运行的请求。我应该使用连接池吗?怎么样?
我的 SQLite 数据库文件大约 2Gb,在我的服务器上我有很多内存 (16Gb)。由于它是一个只读数据库,我可以将其加载到内存中或增加缓存。什么是最好的策略以及如何去做?
【问题讨论】:
标签: java sqlite optimization jdbc