Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117

Fetch size and batch size в запросах sql

25.07.2018, 23:34. Показов 3397. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Вопрос вот какой, я выполняю batch insert из одной таблицы в другую таблицу через java. Использую preparedStatement. Resultset forward only. Объемы большие.

Собственно в чем сам вопрос:
1. Можно выставить fetchsize - количество забираемых строк за раз из бд. Правильно ли я понимаю, что после выполнения метода next(), если потребуется, то именно в этот момент resultset загрузит в память jvm указанное мною число строк?

2. Загрузку в конечную витрину я осуществляю пачками, схематично:
Java
1
2
3
4
5
6
while(src_rs.next())
{
 // ...
  addBatch...
  if(rowcnt % batchsize) executeBatch()
}
Прав ли я в том, что оптимум такой загрузки будет когда fetchsize и batchsize равны?

При выполнении executeBatch(), GC удаляет данные, которые были загруженны в resultset из источника и переданны в addBatch? Или данные в resultset остаются пока я сам не сделаю finalise?

Заранее спасибо за помощь и терпения. Я только начал изучать яву.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2018, 23:34
Ответы с готовыми решениями:

Ошибка: firebird Size Mismatch - Field GROUP size is too small for data
Возникла проблема, пишет Size Mismatch - Field FULL_ADR size is too small for data ошибку, которой не было, пока не заполнил Таблицу бд...

error ROM file size does not match existing BIOS size
Добрый день! Так же Foxconn H61MX, пробовал прошить через программу FOX LiveUpdate указывая путь на скаченный файл (.ROM) из архива...

Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1]
Требуется написать программу, которая заполняет массив размерности n*n по заданному правилу: 25 23 22 16 15 24 ...

2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.07.2018, 09:51
krazyd, в java в операторе if условие обязательно boolean, вот это выражение
Java
1
if(rowcnt % batchsize)
некорректно, нужно что-то типа
Java
1
if(rowcnt % batchsize != 0)...
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
27.07.2018, 01:03
1. Да, правильно. Во всяком случае, так задумывалось. Хотя на самом деле зависит от имплементации jdbc драйвера. Вы каким пользуетесь (с какой СУБД работаете)?
2.
Прав ли я в том, что оптимум такой загрузки будет когда fetchsize и batchsize равны?
Это сложно сказать. Тут без замеров никуда, если вам нужна top performance. Обычно, просто выставление этих параметров в разумные значение уже даёт приемлемый результат.
Цитата Сообщение от krazyd Посмотреть сообщение
Или данные в resultset остаются пока я сам не сделаю finalise?
Это зависит от имплементации драйвера. По идее, если у вас forward only, то освобождать данные из ResultSet теоретически можно уже после вызова next().
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.07.2018, 01:03
Помогаю со студенческими работами здесь

Size suffix and destination or source size do not match
Добрый день, возникла проблема. Говорю сразу в ассемблере ничего не понимаю, в гугле нашел только одну ссылку на свою проблему. Код пишу в...

Что означает запись типа template<typename _Ty, size_t size> void foo(_Ty(&param)[size])?
Что означает такая запись(какой тип передается, что-то вроде ссылки на массив или что-нибудь ещё?): &lt;typename _Ty, size_t size&gt; ...

Runtime size и ROM size
Добрый вечер, форумчане! Не помогает ни переводчик, ни гугл.. Что обозначает 1)Runtime Size и 2)ROM size? 1) размер времени...

#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOB
При внесении данных в БД возникла ошибка.Ни как не могу заполнить таблицу. Помогите пожалуйста!

Резиновый font-size, Как сделать резионвый font-size в блоке?
&lt;HTML&gt; &lt;HEAD&gt;test&lt;/HEAD&gt; &lt;BODY&gt; &lt;style&gt; .test { width: 20%; height: 9%; position: absolute; left: 0; top:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru