传统删除语句delete from table where idxxx属于物理删除执行后数据直接从数据表中清除一旦误删无法恢复若是订单、财务、用户核心业务数据误操作删除会造成不可逆的业务损失因此绝大多数正规项目都会采用逻辑删除软删除方案。实现方式非常简单数据表新增is_deleted tinyint 类型字段默认值 0 代表未删除标记 1 代表已删除。删除操作不再执行 delete而是执行 update 更新标识updatesys_usersetis_deleted1whereid101;后续所有查询语句强制带上过滤条件where is_deleted 0已标记删除的数据不会被正常业务查询出来等同于逻辑上移除数据。Mybatis-Plus 框架内置逻辑删除配置只需要在 yml 配置文件开启开关实体类字段添加注解CRUD 方法会自动拼接删除条件无需手动编写 SQL极大简化开发工作量。逻辑删除的优势十分明显误删数据可以直接修改标识恢复能够留存操作日志与历史业务数据便于对账、审计、问题追溯满足企业数据留存合规要求。唯一需要注意的是索引设计联合索引需要带上 is_deleted 字段避免索引失效。数据库表设计阶段就统一加入软删除字段是后端数据库设计基础规范。