delete后可以跟where条件,truncate不能跟条件
delete删除后有影响行数显示,truncate没有受影响行数显示
delete是一条一条删除数据,效率低;truncate是将整个表删除再创建个一模一样的表结构,效率高
delete删除后自增在原来最大值基础上,truncate会重新开始
delete删除可以回滚,truncate不能回滚
在速度上一般 drop > truncate > delete
如果想删除部分数据用delete,要带上where子句,回滚段要足够大
TRUNCATE | DELETE | |
条件删除 | 不支持 | 支持 |
事务回滚 | 不持支 | 支持 |
清理速度 | 快 | 慢 |
高水位重置 | 是 | 否 |