Указание количества записей для удаления в действии Tibco JDBC Update

как указать количество записей для удаления в действии Tibco JDBC Update в режиме пакетного обновления.

На самом деле мне нужно удалить 25 миллионов записей из базы данных, поэтому я написал код Tibco, чтобы сделать то же самое, и это занимает много времени. Поэтому я планирую использовать пакетный режим в запросе на удаление, поэтому я не знаю, как указать количество записей в активности обновления JDBC.

Помогите мне, если у кого-нибудь есть идеи .. спасибо


person Raj    schedule 01.05.2013    source источник


Ответы (3)


Из документов для флажка «Пакетное обновление»:

Это поле имеет смысл только в том случае, если в операторе SQL есть подготовленные параметры (см. Подготовленные параметры).

В этом случае вход будет массивом записей. Он будет выполнять оператор один раз для каждой записи.

Чтобы избежать нехватки памяти, вам все равно придется перебирать 25 милов, но вы можете выполнять итерации группами по 1000 или 10 000.

Если это не то, что вы будете делать часто (удаление 25 миллионов строк, звучит довольно одноразово), альтернативой является использование BW для создания файла, содержащего операторы удаления, а затем передача файла администратору базы данных для выполнения.

person Tom Howard    schedule 03.05.2013
comment
Спасибо Том за ваш ответ. Я сделал то же самое, но проблема в том, что это занимает много времени. Я расскажу свой дизайн BW .. пожалуйста, просмотрите его и дайте мне предложение по его улучшению. - person Raj; 03.05.2013
comment
Привет Радж. Я добавил альтернативу, которая может быть жизнеспособной, если это не то, что будет делаться очень часто. - person Tom Howard; 06.05.2013

пожалуйста, используйте функцию подмножества палитры jdbc!! Дайте мне знать, если у вас возникнут какие-либо проблемы?

person mahesh    schedule 26.06.2013

Я бы предложил два момента:

  1. Если это одноразовое действие, не рекомендуется использовать для этого код Tibco BW. Сценарий SQL должен быть лучшей альтернативой.

  2. Когда вы говорите 25 миллионов записей - на каких критериях это основано. Этого можно достичь с помощью итерации подмножества. Но в среде Pre-Prod должно быть проведено надлежащее нагрузочное тестирование, чтобы убедиться, что процесс не вызывает проблем с памятью/БД.

Вы также можете попробовать использовать процедуру SQL и вызвать ее через BW.

person Saurav Kumar    schedule 30.08.2015