Я делаю запрос для получения большого количества идентификаторов (целых чисел). Вместо того чтобы миллионы раз перебирать ResultSet и копировать все по одному в ArrayList, есть ли способ просто извлечь все как ArrayList?
Я понимаю, что ResultSet должен быть итеративным, потому что базовая реализация может быть связана с кэшированием, но в моей ситуации мне просто нужны все идентификаторы сразу. Я знаю, что могу установить FetchSize на большое число, но тогда мне все равно придется извлекать идентификаторы один за другим.
Разъяснение: причина, по которой я хочу это сделать, - производительность. Профилирование показывает, что выполнение ResultSet.next (), ResultSet.getInt () и ArrayList.add () миллионы раз занимает довольно много времени. Я полагаю, что база данных (я использую H2, которая написана на Java), вероятно, имеет массив или список где-то в памяти, поэтому я ищу способ скопировать его мне напрямую, а не через итерационный интерфейс ResultSet .