0

我试图为我的基于 java 的软件的用户提供使用 sqlite 而不是默认 MySQL 的选项,因为有些用户不知道 MySQL 是什么,或者如何安装,或者不想。

我使用 sqlite 一切正常,但查询时间非常慢。从 java 中使用 jdbc 的 SELECT 查询返回结果的时间至少是使用 MySQL 时的三倍。

但是,直接在 sqlite 控制台中运行的相同查询可以在几毫秒内运行。必须是导致速度变慢的 jdbc 连接。

关于我可以做些什么来提高速度的任何建议?我听说过用 Xerial 版本替换驱动程序,但不确定该怎么做。我会这样做是为了测试,但这显然是我怀疑我们可以要求我们的用户做的事情 - 如果他们反对安装 mysql,他们不会想要为 sqlite 切换驱动程序......

4

1 回答 1

0

您的驱动程序通常应与您的程序分发一起安装。(与您在应用程序中包装 sqlite 的方式相同)这样,驱动程序对您的用户来说是透明的(他/她不知道幕后发生了什么),您可以使用其他驱动程序。

与某个 rdbms 捆绑在一起的驱动程序会异常缓慢,这似乎有点奇怪。您可以尝试通过 sqlite 日志查看幕后发生的情况。(我什至会推荐它)

于 2013-01-21T18:29:06.443 回答