物理删除:
直接对数据表的数据执行delete或者drop指令,实现对数据的清除,数据消失,腾出了存储空间,减少数据量,提高表的访问性能。
逻辑删除:
使用字段标记位(通常使用is_delete)字段来标记是否已删除,数据还在,只是在查询时会根据is_delete字段的值来对数据进行删选显示。
优劣对比:
1、物理删除,数据直接清除,减小表的体量,一定程度上有利于查询效率。但是对于重要的数据,误删数据无法恢复。
2、逻辑删除,数据保留,表的体量会不断增加,一定程度上可能影响表操作性能。但是数据是保留的(数据是具有价值的),误删除或者历史数据恢复方便。
折中措施:
1、对于物理删除,可以建立一张日志表。对物理删除后的数据记录到日志表中,并标记来源。在后续恢复时可以查找。