0

我有一个返回 92000 行的 SQL 查询,当我将 while 与 ResultSet.next() 一起使用时,它花费了很多时间。我发现问题的根源是迭代 ResultSet.next() 的条件。你知道我怎样才能提高性能并减少花费时间吗?

4

1 回答 1

0

ResultSet.next() 实际上适用于网络 undeneath 并与服务器通信,以便在您迭代之前的行后带来更多数据。

所以有两个提示:

  1. 在结果查询中增加预取大小
  2. 在数据库中创建索引。这将提高数据库性能,这将使

还请查看处理您的问题和获取大小的这两个链接:

增加获取大小意味着从数据库中获取数据的时间更少。结果集就像一个缓冲区,它获取 X 行并在您迭代它们后重新获取。

最后,您可以尝试使用线程,同时将一个查询拆分为 4-5 个查询,这些查询在单独的线程中同时完成。

于 2013-04-11T22:34:17.523 回答