Я создаю пользовательский инструмент импорта и задаюсь вопросом, что было бы лучшим способом импорта большого количества данных.У меня есть следующая структура данных JSON с минимумом 500 продуктов за 30 дней на импорт.
"rows": [{
"product_uid": "k110",
"sale_date": "2018-06-06",
"amount": 15
}, {
"product_uid": "k111",
"sale_date": "2018-06-06",
"amount": 22
}, {
"product_uid": "k110",
"sale_date": "2018-06-07",
"amount": 30
}
]
Схема для таблицы следующая:
daily_sales_id - product_uid - sale_date - amount
Я использую nodejs mysql для выполнения нескольких операторов SQL в одном соединении.Он хорошо работает для вставки строк в первый раз, но при последующих попытках он вставит повторяющиеся строки.Я могу усечь таблицу перед вставкой, но это не удастся, если пользователь решит импортировать дельта-снимок вместо целых записей.
Хотя я могу сделать цикл for, чтобы проверить, существует ли запись, и вместо этого сделать обновлениевставки, циклический просмотр более 15 000 записей и создание более 15 000 подключений, кажется, не очень хорошая идея.
Существуют ли другие альтернативы, в которых я могу сохранить структуру данных и выполнить обновление / вставку без зацикливаниячерез 15 000+ записей?CSV-файл для импорта не знает daily_sales_id.