我有一个名为test
的表有3列:
一段时间后,我知道有一列没有使用。我想删除一列,让我们说id
。
Oracle有一个功能可以将列标识为unused
。 drop
列与设置unused
列之间的区别是什么?
答案 0 :(得分:8)
当你删除一个列时,它会移动到回收站,而当你标记一个未使用的列时,它就像是逻辑删除它,但实际上是保留它。
有时将列标记为未使用,然后使用alter table name drop unused column语句非常有用,因为它允许DBA快速立即删除列访问权限。稍后,在例行数据库维护周末或工作时间之后,您可以使用alter table name drop unused列删除该列以回收空间。
另一方面,标记未使用的列不会释放任何空间,当需要释放空间并删除不需要的列时,最好放弃它。
答案 1 :(得分:1)
答案 2 :(得分:0)
这是对DBA维护窗口的帮助,不适用于您的一般用途。对于开发人员,它意味着DROP列。就是这样,以后再也没有恢复。相反,如果你在12 c,那么使用INVISIBLE选项。