Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.003 c
3-1297792099
AnacRon
2011-02-15 20:48
2014.05.18
Запись данных сразу в несколько таблиц


15-1384508189
ПЛОВ
2013-11-15 13:36
2014.05.18
Как бы оптимизировать обмен данными?


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


15-1384092113
Ptr_Suspend
2013-11-10 18:01
2014.05.18
Стругацкие. Что и в какой последовательности читать?


11-1250509132
Демьян
2009-08-17 15:38
2014.05.18
Закрыть все модальные формы




   Наверх