Rownum или Fetch/offset хороши для выбора и обработки миллионов записей

Я хотел бы прочитать миллион записей из оракула и перенести в другую таблицу через Java. По какой-то причине мы используем процесс Java, мы собираемся это.

Я хотел бы попросить лучшего подхода для выбора записей из таблиц для примеров 1000 записей одновременно. Хорошо ли rownum или Fetch/Offset в 12c?

например, если таблица имеет 10000 записей после запроса, который я могу использовать.

select *
from table
first 500 rows only  -- first time

select *
from table
offset 500 next 500 rows only

... во второй раз (В этот раз оракул снова извлекает 1000 записей и отправляет 500 строк в Resultset..)

select *
from table
offset 1000 next 500 rows only

.... В этот раз оракул снова извлекает 1500 записей и отправляет 500 строк в результат...

... скоро

так что я не уверен, что лучше всего выбрать Rownum для выбора 500 записей за раз или подход смещения / выборки... нужно посоветовать..

1 ответ

Вы хотите вытащить миллионы строк из таблицы в базе данных № 1, вытянуть их с помощью соединения с относительно низкой пропускной способностью к Java-приложению, чтобы вы могли массировать их, затем вы хотите развернуться и подтолкнуть те же строки вверх в ту же самую соединение, чтобы вставить их в базу данных № 2 - вы видите, почему это не может быть хорошим выбором?:-)

Лучше - создайте временную таблицу в базе данных № 1, затем, как только ваша временная таблица заполнится, отправьте данные из базы данных № 1 в базу данных № 2, используя соединение с базой данных Oracle-Oracle.

Что-то вроде:

Database #1
  CREATE TABLE TEMP_TABLE AS
    SELECT FIELD1,
           FIELD2,
           SUM(FIELD3)  -- or whatever
      FROM TABLE1
      WHERE WHATEVER = SOMETHING_ELSE
      GROUP BY FIELD1,
               FIELD2

  Run whatever PL/SQL procedures, etc, are needed to massage your data and make it 
  pretty.

Database #2
  CREATE TABLE PRETTY_BRAND_NEW_TABLE AS
    SELECT *
      FROM TEMP_TABLE@db1;

По моему опыту это ваш лучший вариант. YMMV.

Удачи.

Другие вопросы по тегам