@FasterTans

Как оптимизировать вставку в базу данных?

Делаю импорт товаров.
Есть несколько таблиц, товары, атрибуты и тд. Импорт происходит через XLS, товаров в одном файле может быть больще нескольких тысяч.
Самый оптимальный вариант, который приходит в голову:
1. Парсим первые N строк, формируемся инсерт для самих товаров и вставляем его.
2. Делаем запрос на получение айдишников вставленных товаров.
3. Формируем остальные таблицы с уже известной привязкой по айдишнику. Вставляем по таблицам.
4. Возвращаемся к пункту 1.
Все это обернуть в транзакцию.

Есть какие-то другие варианты, чтоб сократить\убрать количество запросов?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Я использую следующую технику. Прохожусь по источнику и собираю все словарные данные. Их вставляю и оставляю в памяти. После на втором проходе выбираю словари из памяти и вставляю уже готовые значения пакетной вставкой примерно по 10000 значений
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы