Показать ваш код цикла извлечения; могут быть способы улучшить его, в зависимости от того, как вы его называете, и только от того, что вы делаете с данными.
Я считаю, что драйверы баз данных для большинства баз данных будут извлекать сразу несколько строк с сервера; вам нужно будет сказать, какой тип базы данных вы используете, чтобы получить там хороший совет. Если он действительно связывается с сервером для каждой строки, вам придется изменить SQL, чтобы получать наборы строк за раз, но как это сделать, зависит от используемой базы данных.
Ах, DB2. Я не уверен, но я думаю, что вы должны сделать что-то вроде этого:
SELECT *
FROM (SELECT col1, col2, col3, ROW_NUMBER() OVER () AS RN FROM table) AS cols
WHERE RN BETWEEN 1 AND 10000;
и корректируйте числа для каждого запроса, пока не получите пустой результат. Очевидно, это
больше работы на стороне базы данных, чтобы он повторил запрос несколько раз; Я не
знать, есть ли способы DB2 оптимизировать это (например, временные таблицы).