只删除或只更新或更新+删除mysql
问题描述:
通常的任务 - 用户注册。 但是用户和他们的个人数据删除呢?我是否应该删除行(从所有相关的表)或只是更新列“删除”例如,然后总是使用额外的“where deleted = false”子句?只删除或只更新或更新+删除mysql
请根据速度为您的答案,如果可能的话进行优化。
P.S.我不需要保存这些数据。而且,如果总是“更新”并且例如每周一次“删除所有更新”行是比总是更新更好的解决方案?
答
您尚未表达您是否有理由保留有关已删除用户的信息。如果你需要保留它,答案是显而易见的;如果你不这样做,那就删除它(除了使用比需要更多的空间外,不需要的行会减慢查询的速度)。
答
删除
- 你的数据库有更少的冗余数据
- 你的查询都是清洁
- 相关数据可能需要被移除
标志
- 您保持用户的审计
- 相关数据可以留在原地
- 您的查询与
WHERE userId = 123
通知书散落我没有列出任何作为亲或CON。这取决于你自己决定。
答
我想你回答了你自己的问题。我不知道这个数据库是否为个人使用,但在我看来是一直保留一段时间不需要的数据。我建议将一个标志设置为1等数字值,并且每周都有一个工作从适当的表中删除所有这些记录。