Поэтому мой вопрос: когда я получаю доступ к строкам с использованием цикла for, результаты загрузки ResultProxy
по запросу? или он просто загружает все строки в память сразу.
for record in result_proxy:
print(record)
Если вы посмотрите на метод iter в исходном коде ResultProxy, вы увидите, что он вызывает метод fetchone() DBAPI. Это должно загружать одну строку в память из курсора за раз.