This链接指出,应将所有可为空的列添加到数据库表的末尾以节省空间。

我的问题是如何确保始终将一列添加到数据库表的末尾。我是,假设,当我CREATE TABLE ..时,我应该在最后添加所有NULLABLE列。但是,当我使用ALTER TABLE X ADD COLUMN ..时如何工作?

最佳答案

与某些DBMS不同,Oracle没有提供在表中特定位置添加列的方法。新列始终添加在末尾。因此,您不能为此做任何特别的事情。您所拥有的是:

  • 通常,如果您的表具有可为空的列,则不需要添加任何新的不可为空的列(尤其是因为您必须更新所有现有记录以提供某种填充值)。
  • 在中间有可为空的列不是很有害;这意味着长度(0)需要存储,否则就不需要存储。除非您确实有大量的行,这些行具有非常少的非空数据,但有许多尾随的空值,否则这确实不会有很大的不同。
  • 10-07 16:10
    查看更多