Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.05.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
ПЛОВ ©   (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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1384633802
Юрий
2013-11-17 00:30
2014.05.18
С днем рождения ! 17 ноября 2013 воскресенье


15-1384338945
[ВладОшин]
2013-11-13 14:35
2014.05.18
Синхронизация потоков через БД


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


3-1298286689
wasja_1
2011-02-21 14:11
2014.05.18
Замена данных в DBEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский