Форум: "Начинающим";
Текущий архив: 2014.02.02;
Скачать: [xml.tar.bz2];
Внизимпорт в БД Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c