MySQL 物理删除和逻辑删除
MySQL 物理删除和逻辑删除
物理删除
概念
1、就是用DELETE、TRUNCATE、DROP语句删除数据
2、物理删除是把数据从硬盘中删除,释放存储空间,缩小表体积,对性能提升有帮助
代价
1、物理删除是真的删除,数据恢复难度大
2、物理删除会造成主键不连续,导致分页查询数据慢
应用场景
1、核心业务表的数据不适合做物理删除,只做状态变更。
2、随着业务表数据增长,如何既不删除数据,有缩小表体积,可以把记录转移到历史记录表
逻辑删除
1、即在表中添加一个字段(is_deleteed),用字段值进行标记该数据是否已经逻辑删除,查询时跳过这些数据
2、核心业务表的数据必须采用逻辑删除
结论
核心业务数据必须使用逻辑删除,非业务数据看实际进行选择!