Главная страница
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.006 c
15-1375869422
Dennis I. Komarov
2013-08-07 13:57
2014.02.02
Barcode Code128


15-1376669029
Потапов А.В.
2013-08-16 20:03
2014.02.02
Посоветуйте планшет на андроид


15-1376572008
Ъ
2013-08-15 17:06
2014.02.02
Остановить GetTickCount.


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


15-1376365256
Ротанг
2013-08-13 07:40
2014.02.02
Как настроить почту в Windows 8