У меня есть основная таблица MySQL, в которой хранятся продукты. Любые несколько полей для каждого продукта размещаются в реляционных таблицах (например, products_colour, products_photos и т. Д.). Каждый раз, когда я обновляю продукт, я не уверен, что лучше всего делать:
DELETE
все строки в реляционных таблицах, которые соответствуют обновляемому продукту, и INSERT
все новые поля в относительно свежей таблице;
- Только
DELETE
те строки в реляционных таблицах, которые больше не требуются, и INSERT
новые строки, которых еще нет.
Первый вариант одеяла удаляет все и вставляет свежие данные каждый раз, когда продукт обновляется; вторая опция ищет существующие значения, вычисляет, конфликтуют ли они, удаляет их, если это так, и вставляет оставшиеся данные. Или что-то в этом роде ...
С точки зрения наилучшей практики, что лучше всего делать? Действительно ли это важно, если я пойду с первым? Будет ли это , что сильно повлияет на производительность MySQL?