2024-05-09
oracle 清理数据
请教下,Oracle 2T的单表,想要删除它,影响最小的方案是什么呢?
1、先truncate后drop;
2、直接drop。
我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
Markdown
请输入正文
提交
请教下,Oracle 2T的单表,想要删除它,影响最小的方案是什么呢?
1、先truncate后drop;
2、直接drop。
1 先truncate后drop 速度快,影响小,直接删除不产生回滚
直接drop会比较好。因为truncate操作会删除表中的所有数据,但是表结构、索引、触发器、权限等仍然保留,这个过程可能会比较耗时。而drop操作则是直接删除表及其依赖的所有对象,包括数据、索引、触发器、权限等,效率更高。
另外,truncate操作是DDL操作,会自动提交事务,无法回滚。而drop操作虽然也是DDL操作,也会自动提交事务,但是Oracle数据库提供了flashback drop功能,可以恢复被误删除的表,提供了一定的安全保障。
所以,如果你想要删除一个2T的表,影响最小的方案是直接drop。