仅删除或仅更新或更新+删除mysql

时间:2016-02-26 17:46:52

标签: mysql sql

常规任务 - 用户注册。 但是用户及其个人数据删除呢?

我应该只删除行(来自所有相关表)还是只更新列"删除"例如,然后总是使用额外的"其中deleted = false"条款?

请尽可能根据速度和优化来确定答案。

P.S。我不需要保留这些数据。如果总是"更新"例如每周一次"删除所有更新的"行是比总是更新更好的解决方案吗?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

删除

  • 您的数据库拥有较少的冗余数据
  • 您的查询更清晰
  • 可能需要删除相关数据

<强>标志

  • 您对用户进行审核
  • 相关数据可以留在原地
  • 您的查询中充斥着WHERE userId = 123

请注意,我没有将其列为 pro con 。这由你决定。

答案 2 :(得分:0)

我想你回答了自己的问题。我不知道这个数据库是否供个人使用,但我认为总是会在一段时间内保留不需要的数据。我建议将标志设置为数字值(例如1)并使用每周作业从相应的表中删除所有这些记录。