delete from 和 truncate table 的数据库操作区别。虽然它们都可以删除表中的数据,但实际上有几个重要的区别:
- 执行机制
delete from:逐行删除数据,会触发删除触发器,并记录日志truncate table:直接删除整个表的数据,不会逐行处理,也不会触发触发器
- 性能
delete from:对于大量数据,删除速度较慢,因为需要逐行处理truncate table:删除速度非常快,因为是直接释放整个表空间
- 事务和回滚
delete from:可以回滚,支持事务truncate table:不可回滚,也不支持事务
- 权限
delete from:需要表的删除权限truncate table:需要更高级的表结构删除权限
- 自增长列
delete from:自增长列的值会继续累加truncate table:自增长列会重置
建议根据具体业务场景选择合适的删除方式。
1479

被折叠的 条评论
为什么被折叠?



