Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Загрузка данных в Oracle   Найти похожие ветки 

 
id_privin   (2002-06-20 19:55) [0]

Профи, помогите!

Ситуация : загружаю данные в Oracle, для этого в Query пишу insert .... и в Variables кладу массивы данных.

Проблема : когда массивы короткие (до 1000 записей) все отлично,
а когда больше (2000 и более) то программа начинает жрать память ( >100M) и дико тормозить( 1000 записей - ~2с, а 6000 - больше минуты).

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


 
Yuvich ©   (2002-06-21 14:11) [1]

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

Единственный путь - делать транзакции короче: одна запись (группа записей, связанных между собой логически) - одна транзакция или пакет записей ( >100, <1000) - одна транзакция.

Другой путь - сделать загрузку данных вне транзакции: перевести сервер (сессию) в режим not logged и загрузить данные, при этом кол-во записей не имеет значения. Но это, скорее всего, надо делать на сервере и из файла, например Лоадером.



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.015 c
1-47490
Sergey_
2002-07-01 14:07
2002.07.15
Дабрый день. Имеется StringGrid Как прочитать поле в


3-47080
AngeL B.
2002-06-19 20:42
2002.07.15
что за тормоза при работе с Jet.4


1-47340
PSZ
2002-07-01 15:42
2002.07.15
Как Caption на TButton написать в несколько строк ?


3-47240
Nonam
2002-06-20 14:36
2002.07.15
Хранимая процедура в пакете


14-47811
Voldemar
2002-06-16 23:04
2002.07.15
Кто завтра (17.06) играет в 10.20 и 15.20 (Worldcup)