Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизInsert 10000 записей как ускорить? Найти похожие ветки
← →
awp © (2004-10-12 16:19) [0]Необходимо ускорить добавление записей в таблицу.
Есть таблица 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;
← →
Johnmen © (2004-10-12 16:25) [1]Надо просто выполнять
INSERT INTO ...
, а не городить огород с набором данных.
← →
roottim © (2004-10-12 16:57) [2]TOraLoader
или Johnmen © (12.10.04 16:25) [1]
← →
Reindeer Moss Eater © (2004-10-12 17:07) [3]Кардинально ускорить можно так:
1.Создаем скрипт из инсертов или просто текстовый файл в формализованном виде.
2. Жмем его zlib"ом
3. Заливаем на сервер (передавая его процедуре в качестве blob параметра)
4. Находим реализацию zlib на яве и переносим её на сервер.
5. Распаковываем на сервере наш блоб и обрабатываем его там же.
← →
awp © (2004-10-12 17:21) [4]Спасибо roottim, попробую OraLoader
Reindeer Moss Eater - так не получится сервер с оракулом на одной машине а загрузка на другой а файл DBF на третей :))))
желание заказчика - закон! :))))
← →
Reindeer Moss Eater © (2004-10-12 17:24) [5]А мой способ и не предполагает, что dbf лежит на машине с ораклом.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c