我正在尝试为我的基于java的软件的用户提供使用sqlite而不是默认MySQL的选项,因为有些用户不知道MySQL是什么,或者如何安装,或者不想。 / p>
我使用sqlite工作正常,但查询时间非常慢。使用jdbc的java中的SELECT查询返回结果的时间至少是使用MySQL时的三倍。
但是,直接在sqlite控制台中运行的相同查询在几毫秒内完成。它必须是导致速度减慢的jdbc连接。
有什么建议我可以做些什么来提高速度?我听说过用Xerial版本替换驱动程序,但我不确定如何做到这一点。我这样做是为了测试,但这显然是我怀疑我们可以要求我们的用户做的事情 - 如果他们反对安装mysql他们不想要为sqlite切换驱动程序......
答案 0 :(得分:0)
您的驱动程序通常应与您的程序分发一起安装。 (与您的应用程序包装sqlite的方式相同)这样,驱动程序对您的用户是透明的(他/她不知道幕后发生了什么),您可以使用其他驱动程序。
与某个rdbms捆绑在一起的驱动程序btw会非常慢,这似乎有点奇怪。您可以尝试浏览sqlite日志以查看幕后发生的情况。 (我甚至会推荐它)