操作 |
删除对象 |
表和索引的空间 |
是否回滚 |
时间 |
delete |
table和view的数据,可以使用where精确删除,删除会触发触发器 |
表或索引的空间不变化 |
是dml,可以rollback回滚 |
最慢 |
truncate |
table的数据,不记录日志,不触发触发器,外键约束的表不能删除 |
表所占用的空间恢复到初始大小 |
是dll,不能回滚 |
快 |
drop |
整个表,包括依赖的约束,触发器,索引,依赖表的存储过程或函数保留,状态变为invalid |
表所占用的空间全部释放 |
是dll,不能回滚 |
最快 |