#jdbc #stream #vertica #jdbi
#jdbc #поток #vertica #jdbi
Вопрос:
Я пытаюсь подключиться к vertica через Jdbi jdbc, чтобы получить огромный набор результатов. Следовал документации JDBI и добавил это в dao,
@SqlQuery("<query>")
@Mapper(ResultRow.StreamMapper.class)
@FetchSize(chunkSizeInRows)
public Iterable<List<Object>> getStreamingResultSet(@Define("query") String query);
Но похоже, что он загружает все данные в память вместо их потоковой передачи
Комментарии:
1. Пожалуйста, добавьте вопрос или вы можете опубликовать проблему на странице jdbi.
Ответ №1:
Я просматривал наборы результатов потоковой передачи из JDBI и наткнулся на этот вопрос. Ответ находится на странице документации SQL Object Queries:
поскольку метод возвращает a
java.util.Iterator
, он загружает результаты лениво
Итак, в этом случае Iterable<List<Object>>
должно быть a Iterator<List<Object>>
(я предполагаю, что JDBI может преобразовать строку базы данных в a List<Object>
).