优化ResultSet迭代

时间:2013-04-11 22:26:53

标签: performance

我有一个返回92000行的SQL查询,当我使用带有ResultSet.next()的while时,它花了很多时间。我发现问题的根源是迭代条件ResultSet.next( )。您是否知道如何改善性能并减少花费时间。

1 个答案:

答案 0 :(得分:0)

ResultSet.next()实际上适用于网络下层,并与服务器通信,以便在迭代前一行后提供更多数据。

所以有两个提示:

  1. 增加结果查询中的首选项大小
  2. 在数据库中创建索引。这将增加数据库性能,这将使
  3. 还要看看这两个处理您的问题和获取大小的链接:

    增加获取大小意味着从数据库中获取数据的次数减少。结果集就像一个缓冲区,一旦迭代了它们就会获取X行和重新获取。

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