Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1364479486
Student123
2013-03-28 18:04
2014.02.02
проектирование классов для работы с данными бд


15-1376690406
Германн
2013-08-17 02:00
2014.02.02
ХЕ4 и WinXP


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


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


15-1375869422
Dennis I. Komarov
2013-08-07 13:57
2014.02.02
Barcode Code128





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский