Oracle drop column和unused column

时间:2012-07-05 19:16:41

标签: oracle

我有一个名为test的表有3列:

  1. 姓名
  2. ID
  3. 地址
  4. 一段时间后,我知道有一列没有使用。我想删除一列,让我们说id

    Oracle有一个功能可以将列标识为unuseddrop列与设置unused列之间的区别是什么?

3 个答案:

答案 0 :(得分:8)

当你删除一个列时,它会移动到回收站,而当你标记一个未使用的列时,它就像是逻辑删除它,但实际上是保留它。

有时将列标记为未使用,然后使用alter table name drop unused column语句非常有用,因为它允许DBA快速立即删除列访问权限。稍后,在例行数据库维护周末或工作时间之后,您可以使用alter table name drop unused列删除该列以回收空间。

另一方面,标记未使用的列不会释放任何空间,当需要释放空间并删除不需要的列时,最好放弃它。

答案 1 :(得分:1)

这是一个方便的问题,实际上......

请参阅here

设置为“unused”就像丢弃一样,但允许您将实际的物理删除推迟到以后的日期。

答案 2 :(得分:0)

这是对DBA维护窗口的帮助,不适用于您的一般用途。对于开发人员,它意味着DROP列。就是这样,以后再也没有恢复。相反,如果你在12 c,那么使用INVISIBLE选项。