暂无图片
oracle 清理数据
我来答
分享
🎩🎩🎩
2024-05-09
oracle 清理数据

请教下,Oracle 2T的单表,想要删除它,影响最小的方案是什么呢?

1、先truncate后drop;

2、直接drop。

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
N
nick_liu

1 先truncate后drop 速度快,影响小,直接删除不产生回滚

暂无图片 评论
暂无图片 有用 1
打赏 0
lianR

直接drop会比较好。因为truncate操作会删除表中的所有数据,但是表结构、索引、触发器、权限等仍然保留,这个过程可能会比较耗时。而drop操作则是直接删除表及其依赖的所有对象,包括数据、索引、触发器、权限等,效率更高。

另外,truncate操作是DDL操作,会自动提交事务,无法回滚。而drop操作虽然也是DDL操作,也会自动提交事务,但是Oracle数据库提供了flashback  drop功能,可以恢复被误删除的表,提供了一定的安全保障。

所以,如果你想要删除一个2T的表,影响最小的方案是直接drop。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交