Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Insert 10000 записей как ускорить? [D5, ODAC.NET]


awp ©   (2004-10-12 16:19:00) 

Необходимо ускорить добавление записей в таблицу.
Есть таблица DBF(по одному адресу) и таблица Oracle(по другому адресу) компонент - ODAC.Net. Обработка примерно 35 сек при запуске exe а при запуске через php 2-3 минуты. Как ускорить? Может поиграть свойствоми ODAC(AutoCommit or CachedUpdate)?

код:

DbfTable.First;
while not DbfTable.Eof do
begin
 for i:= posG to DbfTable.FieldCount - 1 do
 begin
  if Length(Trim(DbfTable.Fields[i].Value)) <> 0 then
  begin
    OraTable.Insert;
    OraTable.FieldByName('k').Value:= DbfTable.FieldValues['k'];
    .....................................
    10 полей
    .....................................
    OraTable.Post;
  end;
 end;
 DbfTable.Next;
end;


Reindeer Moss Eater   (2004-10-12 17:24:00) [1]

А мой способ и не предполагает, что dbf лежит на машине с ораклом.


awp   (2004-10-12 17:21:00) [2]

Спасибо roottim, попробую OraLoader

Reindeer Moss Eater - так не получится сервер с оракулом на одной машине а загрузка на другой а файл DBF на третей :))))
желание заказчика - закон! :))))


Reindeer Moss Eater   (2004-10-12 17:07:00) [3]

Кардинально ускорить можно так:

1.Создаем скрипт из инсертов или просто текстовый файл в формализованном виде.
2. Жмем его zlib'ом
3. Заливаем на сервер (передавая его процедуре в качестве blob параметра)
4. Находим реализацию zlib на яве и переносим её на сервер.
5. Распаковываем на сервере наш блоб и обрабатываем его там же.


roottim   (2004-10-12 16:57:00) [4]

TOraLoader
или Johnmen ©   (12.10.04 16:25) [1]


Johnmen   (2004-10-12 16:25:00) [5]

Надо просто выполнять INSERT INTO ..., а не городить огород с набором данных.


Наверх

Титульная страница Поиск, карта сайта Написать письмо