在表的末尾存储NULLABLE列 - Oracle

nam*_*ked 3 oracle

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

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

rua*_*akh 6

与某些DBMS不同,Oracle无法在表中的特定位置添加列; 最后总会添加新列.所以,你不能为此做任何特别的事情.你所拥有的只是:

  • 通常,如果您的表具有可为空的列,则不需要添加任何新的非可空列(特别是因为您必须更新所有现有记录以提供某种填充值).
  • 在中间有可空栏目并不是有害; 这意味着长度(0)需要存储,否则就不会存储.除非你真的拥有大量的行,这些行的非空数据非常少但是有大量的尾随空值,否则这实际上不会产生显着的差异.