Лучший способ обновить базу данных на недостающие строки - PullRequest
0 голосов
/ 13 апреля 2020

Я извлекаю набор данных из внешнего источника в свою базу данных. Числовые линии в этом наборе могут быть изменены (добавлены / удалены). Поэтому при каждом импорте необходимо проверять строки, которые необходимо удалить. Мне было интересно, какое лучшее решение для этого было.

Dataset day 1
Id|value
1|abc
2|cbd
3|xyz

Dataset day 2
Id|value
1|abc
3|Fhg

Для идентификаторов 1 и 3 я могу просто выполнить запрос insert on duplicate key update. Что касается идентификатора 2, у меня нет никакой информации в день 2.

Итак, подходы, на которые я сейчас обращаюсь, и мне нужна ваша помощь, чтобы найти лучшее / предпочтительное решение:

  1. Удалите полный набор данных из таблицы, а затем снова импортируйте полный набор данных при новом импорте
  2. Добавьте поле updateDateTime, которое автоматически заполняется триггером обновления. Затем выполните второй запрос, который удаляет все строки, которые не были обновлены
  3. Сохраните все идентификаторы в массиве / таблице, которые можно использовать для сопоставления с новым набором данных. Оставшиеся идентификаторы можно использовать для удаления из базы данных
  4. Другое .....

Каковы ваши предпочтения и / или идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...