java sqlite JDBC中ResultSet.next()的性能不佳

时间:2017-02-13 22:44:07

标签: java sqlite jdbc

从sqlite数据库检索数据时,ResultSet.next()存在性能问题。我正在使用 org.sqlite.JDBC 驱动程序。我尝试设置声明/ ResultSet.fetchSize(),但这也不起作用。

当我在WHERE子句中使用带有字符串参数的SQL语句时,操作持续大约25秒(在WHERE中使用非字符串参数,它仅持续4秒)。

我发现使用某些驱动程序可以在URL中设置send string parameter as unicode = false,这样可以提高性能。但是,我无法找到如何使用SQLite连接进行设置的方法。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在SQLite中,结果行是按需计算的。 (SQLite不是客户端/服务器数据库,因此没有通信开销。)

因此,当next()速度很慢时,这只意味着您的查询速度很慢,并且数据库必须执行大量I / O和/或许多计算才能返回下一行。

要加快速度,您必须改进数据库设计,查询或硬件。