如果一条数据在数据表中没用了,是删除它还是设置字段表示它已删除,那种方式更好?

经常遇到这种问题,我记得以前好像听人说过通过设置字段来表示它已被删除,我也一般是用这种方式,想知道哪一种会比较好?谢谢大家

阅读 10.2k
9 个回答
  1. 逻辑删除:即标记删除,设置一个状态字段,判断删除,该类删除主要使用于一些,用户删除,但是可能网站还会使用到的一些数据,也包含,用户删除以后还想去恢复的一部分数据。

  2. 物理删除:即直接删除该数据。这类的删除适用于使用之后,无意义的数据,比如我们现在注册发送的验证码等类型的数据。

  3. 其实我们数据不做物理删除,我们也是为了以后能更好的勾勒出用户在本站的信息图谱(包括爱好,住址,曾发布,浏览历史等等),说白了,就是有利于我们分析用户行为的数据都不要做物理删除!

不删:在很多情况下,只是多占些磁盘。并不影响系统性能

删掉:也无所谓的,在绝大部分情况下,你预计的用到这些已删除的数据的场景其实不会出现。如果会出现,那么这个功能应该是标记,而不是软删除了。

所以呢,当你以后遇到这类问题不知所措的时候,那就选第一个好了。因为选项之间并没有太大差别,没什么好选的。

打标记好,万一是某人发布了敏感言论然后删除,那么警察叔叔查水表的难度肯定比用delete删除的难度小的多。

看业务需求,未来要不要做数据分析,统计啊之类的场景.
如果有,就用标志位逻辑删除,如果没有的话,直接删掉就好了.
建议还是逻辑删除,定期备份就好了~

如果敏感数据可以标志字段,如果不是直接物理删除

不重要的数据直接删除就行,像用户信息做字段删除好些。。。

做逻辑删除,用status字段,0:删除,1:启用2:停用,....

逻辑删除的数据后期用脚本定时清理来清除垃圾数据,最好不要在程序里有delete语句,小心造成误删全表数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题