只删除或只更新或更新+删除mysql

问题描述:

通常的任务 - 用户注册。 但是用户和他们的个人数据删除呢?我是否应该删除行(从所有相关的表)或只是更新列“删除”例如,然后总是使用额外的“where deleted = false”子句?只删除或只更新或更新+删除mysql

请根据速度为您的答案,如果可能的话进行优化。

P.S.我不需要保存这些数据。而且,如果总是“更新”并且例如每周一次“删除所有更新”行是比总是更新更好的解决方案?

您尚未表达您是否有理由保留有关已删除用户的信息。如果你需要保留它,答案是显而易见的;如果你不这样做,那就删除它(除了使用比需要更多的空间外,不需要的行会减慢查询的速度)。

删除

  • 你的数据库有更少的冗余数据
  • 你的查询都是清洁
  • 相关数据可能需要被移除

标志

  • 您保持用户的审计
  • 相关数据可以留在原地
  • 您的查询与WHERE userId = 123

通知书散落我没有列出任何作为CON。这取决于你自己决定。

我想你回答了你自己的问题。我不知道这个数据库是否为个人使用,但在我看来是一直保留一段时间不需要的数据。我建议将一个标志设置为1等数字值,并且每周都有一个工作从适当的表中删除所有这些记录。