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

Вниз

Как бы оптимизировать обмен данными?   Найти похожие ветки 

 
ПЛОВ ©   (2013-11-15 13:36) [0]

Программа импортирует записи из одной базы в другую. БД FireBird. Работает медленно.
Проходится стандартным first - while - next циклом по таблице БД1, текущая запись (ее данные) вставлется инсертом в аналогичную таблицу БД2. Коммит блоками по... пробовал от 1000 до 100000 записей без особых изменений скорости.
Обращение к данным поначалу было через FieldByName/ParamByName, думал в этом и затык. Переделал на индексы - результат не изменился совершенно, даже не секунду...
Как бы его чего допилить/поменять? Записей - сотни тысяч.


 
Ega23 ©   (2013-11-15 13:37) [1]

insert into select from ?


 
ПЛОВ ©   (2013-11-15 13:39) [2]

О! спасибо за наводку :)


 
[ВладОшин] ©   (2013-11-15 13:50) [3]

Имхо, самое быстрое без привязки в БД - экпорт/импорт
с отключенными проверками
потом сюрприз будет :)


 
RWolf ©   (2013-11-15 13:50) [4]


> Ega23 ©   (15.11.13 13:37) [1]
> insert into select from ?

запрос к двум базам FB сразу?


 
ПЛОВ ©   (2013-11-15 13:53) [5]


> запрос к двум базам FB сразу?

А ведь FB действительно такое не умеет :( Хреновенько


 
ПЛОВ ©   (2013-11-15 13:56) [6]


> с отключенными проверками

У меня в БД много связанных таблиц и триггеров, проверящих целостность данных. Вероятно отсюда и тормоза. Отключать проверки не могу, иначе зачем тогда вообще импортировать покалеченные данные :)


 
[ВладОшин] ©   (2013-11-15 13:58) [7]

экпорт/импорт, я настаиваю!
на рябине :)
на 99% есть уверенность, что 100500 тулзов есть уже, не считая каких-нибудь стандартных команд


 
RWolf ©   (2013-11-15 13:59) [8]

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


 
Ega23 ©   (2013-11-15 14:00) [9]


> А ведь FB действительно такое не умеет :( Хреновенько


http://www.firebirdsql.org/refdocs/langrefupd25-psql-execstat.html#langrefupd25-psql-execstat-on-external


 
RWolf ©   (2013-11-15 14:01) [10]


> Ega23 ©   (15.11.13 14:00) [9]

2.5 крутой.


 
[ВладОшин] ©   (2013-11-15 14:01) [11]


> ПЛОВ ©   (15.11.13 13:56) [6]

ну.. надо, значит, тщательнее продумать как выгружать.
а когда включить назад
Fk|pk, поди, сразу брыкнут.
Остальное проверить руками


 
Anatoly Podgoretsky ©   (2013-11-15 17:01) [12]


> insert into select from ?

select from insert into
побыстрее будет.



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

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

Наверх




Память: 0.49 MB
Время: 0.008 c
3-1298286689
wasja_1
2011-02-21 14:11
2014.05.18
Замена данных в DBEdit


15-1381825860
[ВладОшин]
2013-10-15 12:31
2014.05.18
Порассуждаем? Кредитная карта пришла по почте


15-1384191766
awt
2013-11-11 21:42
2014.05.18
Проблема с изучением ассемблера...


2-1375088425
Вова
2013-07-29 13:00
2014.05.18
Помогите перевести с Java на Delphi


2-1374915886
blackmane
2013-07-27 13:04
2014.05.18
Вывод формы в активный сеанс