cursor.fetch_hash do |row|
data_report_list = {'N1' => row['Number1'], 'N2' => row['Number2'], 'N3'=> row['Number3'], 'N4'=> row['Number4']}
worksheet.row(row_num2k).concat([data_report_list['N1'], data_report_list['N2'],data_report_lis['N3'],data_report_list['N4'], '555' ])
row_num2k+=1
end
cursor.close
Сделал вот так, работает, но при кол-ве строк около 200к-300к, скрип работает около 4-5мин. Есть пути его оптимизировать?
Решение нашел, уменьшаем количество итераций, путем увеличение буфера строк:
connection = OCI8.new(Login, Password, Server)
connection.prefetch_rows = 10000
Время уменьшилось в два раза.