Oracle напрямую загружает INSERT через JDBC? - PullRequest
5 голосов
/ 03 марта 2011

Можно ли делать вставки с прямой загрузкой в ​​Oracle через JDBC?

В настоящее время я использую пакетные подготовленные операторы (через Spring JDBC), есть ли способ сделать так, чтобы они обходили журналы повторов в таблице NOLOGGING?

Это с Oracle 11g.

Ответы [ 5 ]

4 голосов
/ 03 марта 2011

прямая вставка пути возможна только в сценарии insert into x as select * from y.Это можно сделать с помощью jdbc, без проблем.Это не может быть сделано с помощью вставки и значений.Этого также нельзя сделать, когда база данных находится в режиме принудительного ведения журнала.В большинстве случаев, когда резервная база данных подключена, основная база данных будет в режиме принудительного ведения журнала.

Как упоминал Гэри Майерс, с 11gR2 есть подсказка APPEND_VALUES.Как и в случае со «старой» подсказкой к добавлению, ее следует использовать только для массовых вставок.

Надеюсь, это поможет, Рональд.

2 голосов
/ 04 марта 2011

В 11gR2 введена подсказка APPEND_VALUES для прямых вставок с INSERT ... VALUES.

Нет экземпляра 11gR2, доступного для проверки его работы с пакетными вставками JDBC . Хотя стоит попробовать.

0 голосов
/ 05 июня 2018

Мне удалось использовать подсказку APPEND_VALUES с Oracle 12c с пакетной обработкой JDBC. Я подтвердил, что прямая вставка пути произошла через диспетчер Oracle Enterprise, где план объяснения показывает Load As Select

0 голосов
/ 15 сентября 2014

Использование:

INSERT /*+ APPEND_VALUES */ INTO table_name (column1, column2) values (?,?);
0 голосов
/ 03 марта 2011

делает

insert /*+ append */ into desttab select * from srctab 

не работает в JDBC?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...