从sqlite数据库检索数据时,ResultSet.next()
存在性能问题。我正在使用 org.sqlite.JDBC 驱动程序。我尝试设置声明/ ResultSet.fetchSize()
,但这也不起作用。
当我在WHERE
子句中使用带有字符串参数的SQL语句时,操作持续大约25秒(在WHERE
中使用非字符串参数,它仅持续4秒)。
我发现使用某些驱动程序可以在URL中设置send string parameter as unicode = false
,这样可以提高性能。但是,我无法找到如何使用SQLite连接进行设置的方法。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
在SQLite中,结果行是按需计算的。 (SQLite不是客户端/服务器数据库,因此没有通信开销。)
因此,当next()
速度很慢时,这只意味着您的查询速度很慢,并且数据库必须执行大量I / O和/或许多计算才能返回下一行。
要加快速度,您必须改进数据库设计,查询或硬件。