6

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

  1. 姓名
  2. ID
  3. 地址

一段时间后,我知道一列未使用。我想删除一列,比方说id

Oracle 有一个特性可以将列标识为unused. drop列与设置列有什么区别unused

4

3 回答 3

8

当您删除一列时,它会移动到回收站中,而当您将一列标记为未使用时,它就像在逻辑上删除它但在物理上保留它。

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

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

于 2012-07-05T19:26:13.617 回答
1

其实是为了方便...

这里

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

于 2012-07-05T19:31:19.570 回答
0

这是对 DBA 维护窗口的帮助,一般不供您使用。对于开发人员来说,这意味着 DROP 列。就是这样,以后没有恢复点。相反,如果您在 12 c 中,则使用 INVISIBLE 选项。

于 2018-02-02T17:17:01.483 回答