Разбор и сравнение данных с использованием Coldfusion & MySQL

Сначала я объясню, что мне нужно делать, а затем какthink Я могу достичь этого. Мой текущий план кажется очень неэффективным в теории, поэтому мой вопрос заключается в том, есть ли лучший способ выполнить его.

У меня есть 2 таблицы - давайте назовем их «продукты»; и «Products_Temp», оба являются идентичными. Мне нужно скачать большое количество файлов (XML или XLS), которые содержат информацию о продукте (запасы, цены и т. Д.) От поставщиков. Затем они анализируются в таблице Products_Temp. Прямо сейчас я планирую использовать запланированные задачи CF для загрузки и Navicat для фактического анализа - я счастлив, что этого достаточно и достаточно эффективно.

На следующем этапе я начинаю бороться - после того, как файл был загружен и проанализирован, мне нужно искать какие-либо изменения в данных. Это будет сопоставлено с таблицей продуктов. Если изменение найдено, то эта строка должна быть добавлена или обновлена (если она должна быть удалена, тогда мне нужно пометить ее, а не просто удалить). Как только все данные будут сравнены, таблицу products_temp следует очистить.

Мне известны способы сравнения таблиц и их соответствующей синхронизации, однако проблема, с которой я сталкиваюсь, заключается в том, что я буду обрабатывать несколько файлов из разных источников. Я рассмотрел вопрос об использовании только таблицы продуктов и добавления / обновления, но не уверен, как справиться с меткой «удаленный». требование.

Прямо сейчас, единственный способ, которым яknow Я могу заставить его работать - это перебирать таблицу products_temp, делать различные cfquerys и удалять строку после завершения. Однако это кажется невероятно неэффективным, и учитывая тот факт, что мы, вероятно, имеем дело с сотнями тысяч строк, вряд ли будет эффективным, если мы будем ежедневно обновлять все.

Любые указатели или советы по лучшему маршруту будут оценены!

Ответы на вопрос(3)

Ваш ответ на вопрос