详解Oracle DELETE和TRUNCATE 的区别

如题所述

一:
delete 删除数据时可以接where条件,指定一条或多条;
truncate不可以接where条件,通常情况下是直接清空整张表,如果是分区表,可以指定清空某一个分区的数据,如:alter table t1 truncate partition part1;
二:
delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发,效率低,速度慢;
truncate是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger。速度快。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜