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

пример,

В блоге есть теги A, B, C

При обновлении тегов блога до B, C, D

  1. Удалить все A, B,Отношение тега C и создание отношения B, C, D
  2. , удаление A и создание отношения D после получения предыдущего списка тегов и сравнения:

, что является лучшим методом ???

Blog
----------
|id|title|

tag
---------
|id|name|

BlogHasTag
-----------------
|id|blogId|tagId|

1 Ответ

0 голосов
/ 10 октября 2019

Удалить A и создать D отношение после получения предыдущего списка тегов и сравнения

На мой взгляд, лучшая практика с точки зрения базы данных должна состоять только в удалении и создании необходимых данных. BlogHasTag.id может быть потрачено впустую, если вы удалите все связи тегов и добавите их снова.

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

Какой стиль обновления вы бы предпочли:

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