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

Вниз

импорт в БД   Найти похожие ветки 

 
ragnar   (2013-03-29 15:16) [0]

К примеру, импортируется файл с 100к записей, которые должны быть добавлены в таблицу БД. Как их правильно добавлять? Если использовать INSERT-запрос получается, что он выполнится 100к раз.


for I := 0 to Items.Count - 1 do // 100к
begin
 // ... INSERT SQL ...


 
O'ShinW ©   (2013-03-29 15:31) [1]


> Как их правильно добавлять?

Зависит от задачи.

А добавлять быстро - надо почитать синтаксис аналога bulk insert используемой СУБД


 
ragnar   (2013-03-29 15:44) [2]

Задача: есть xml-файл, содержащий данные о товарах. в нем могут хранится данные от 1 до 10 млн товаров. Нужно реализовать как можно более быстрый их импорт. По окончанию импорта, нужно как-то отбразить товары, которые не удалось импортировать.

СУБД: Firebird


 
Медвежонок Пятачок ©   (2013-03-29 16:03) [3]

Если использовать INSERT-запрос получается, что он выполнится 100к раз.

а сколько надо?


 
ragnar   (2013-03-29 16:21) [4]


> Если использовать INSERT-запрос получается, что он выполнится
> 100к раз.
>
> а сколько надо?


при работе по сети 1000 записей добавляется за 11-14 мин. это разве нормально?


 
Медвежонок Пятачок ©   (2013-03-29 16:34) [5]

Вставлять порциями. Не каждую строку в отдельной транзакции, а сто строк в одной транзакции.


 
Плохиш ©   (2013-03-29 16:48) [6]


> ragnar   (29.03.13 16:21) [4]

Надо прочитать документацию по используемой бд на предмет транзакций.


 
RWolf ©   (2013-03-29 17:13) [7]


> при работе по сети 1000 записей добавляется за 11-14 мин.
>  это разве нормально?


> СУБД: Firebird

ненормально. столько за секунду улетает, обычными INSERT"ами, разумеется.


 
Inovet ©   (2013-03-29 17:39) [8]

+ Параметры несколько ускорят, и не зыбыть Prepare перед циклом.


 
Podgoretsky   (2013-03-30 17:44) [9]

Наверно все серверы одинаковы, раз версия не указывается, видимо не важно.



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

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

Наверх




Память: 0.48 MB
Время: 0.004 c
4-1266967102
leonidus
2010-02-24 02:18
2014.02.02
Проблема установки глобального хука на клавиатуру


11-1249177598
Ruzzz
2009-08-02 05:46
2014.02.02
D2009, Unicode и Ansi-строки одновременно, перегрузка функций


15-1376375006
[ВладОшин]
2013-08-13 10:23
2014.02.02
Перелогиниться в домене, не закрывая программ. Можно?


15-1376633325
БарЛог
2013-08-16 10:08
2014.02.02
Советы по организации почтового ящика


11-1249205334
DevilDevil
2009-08-02 13:28
2014.02.02
Иконка для ToolWindow