У нас есть оператор SELECT, который займет ок. 3 секунды, чтобы выполнить. Мы вызываем этот запрос DB2 внутри вложенного цикла while.
Ex:
В то время как (hashmap1.hasNext ()) {
в то время как (hashmap2.hasNext ()) {
SQL-запрос
}
}
Проблема в том, что внешний цикл while будет выполняться прибл. 1200 раз и внутренний цикл while будет выполняться 200 раз. Это означает, что SQL будет вызываться 1200 * 200 = 240 000 раз. Прибл. каждая итерация цикла Outer While займет 150 секунд. Итак, 1200 * 150 секунд = 50 часов.
Мы можем позволить себе только около 12-15 часов времени, прежде чем мы начнем следующий процесс.
Есть ли способ сделать этот процесс быстро? Любая новая технология, которая может помочь нам быстрее получать эти записи из DB2.
Любая помощь будет принята с благодарностью.
Примечание. Мы уже рассмотрели все возможные способы сокращения числа итераций.