powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как быстро добавить в таблицу много(>1000) строк???
5 сообщений из 5, страница 1 из 1
как быстро добавить в таблицу много(>1000) строк???
    #32124079
DenisM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема: клиент работает с базой через ODBC, пишет большие объёмы в таблицу с ограничением уникальности. За счёт чего можно существенно повысить его производительность?
...
Рейтинг: 0 / 0
как быстро добавить в таблицу много(>1000) строк???
    #32124091
ksukhonosenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отключить индекс - а потом заново его перестроить. Если будут дубликаты - что-то сделать.

http://www.oradba.com.ru/sql/articles/a1_duplicates.shtml
...
Рейтинг: 0 / 0
как быстро добавить в таблицу много(>1000) строк???
    #32124096
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще-то мало информации.

если пишет последовательными инсертами (а как иначе через ODBC? Но тогда еще вопрос в Оракле ли узкое место), то можно сделать следующее -

--отключить ограничения - отложить проверку уникальности
--удалить все индексы - построить их после завершения инсертов
--перевести таблицу в режим nologging
--использовать direct path insert т.е. с хинтом /*+ append */ (но при этом каждый новый инсерт будет производиться в чистый блок - т.е. потеря места)

Вообще-то, если есть сформированный на клиенте массив данных, то его лучше грузить через sql*loader - с теми же самыми ухищрениями, что описаны выше плюс еще parallel.
...
Рейтинг: 0 / 0
как быстро добавить в таблицу много(>1000) строк???
    #32125309
Dikobrazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще такая идея: сделать вспомогательную таблицу с такой же структурой, но без индексов и констрейнов, загнать данные в нее, а потом одним инсертом скопировать данные в основную таблицу.

Или такой вариант: сделать один большой-пребольшой запрос
Код: plaintext
1.
2.
3.
4.
5.
insert into ...
select  1 , 2 , 3  from dual
union all
select  4 , 5 , 6  from dual
union all...
...
...
Рейтинг: 0 / 0
как быстро добавить в таблицу много(>1000) строк???
    #32125310
Каспер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть гениальный компонент! Директ Оракл Аккес... :) Используя его я добился скорости Loadera при загнрузки ДБФок в оракл. Несколько сотен тысяч записей не содержащих ЛОНГ РОВЫ до 10 полей... грузились в течении минуты в Оракловую БД вер 8.1.6
Ищи его в инете.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как быстро добавить в таблицу много(>1000) строк???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]