【问题标题】:Create an unique ID in Oracle database在 Oracle 数据库中创建唯一 ID
【发布时间】:2015-04-11 15:37:09
【问题描述】:

是否倾向于始终在 Oracle 数据库中创建唯一 ID?我知道 Oracle 数据库会自动创建一个字段 ROWID,它是唯一的,但是如果我由于性能问题重新组织数据库,我的所有 ROWID 会不会被更改/重组,所以我在其他应用程序中使用的 ID 会被破坏?

【问题讨论】:

  • 问题有点宽泛:一般不使用内部(技术)ID 作为参考。甚至不在您的数据库范围内,当然也不在外部。自己创建(功能)ID。
  • 这取决于您的应用程序

标签: database oracle database-design oracle11g


【解决方案1】:

使用任何关系数据库时,如果您的数据自然不包含唯一的值或值组合,则应创建唯一的人工键。 Oracle ROWID 对数据库中的物理地址进行编码,并且应该从不存储在表中。 ROWID 仅保证在单个事务期间保持不变。对数据库的各种类型的操作,包括分区键更新、闪回表操作和收缩表操作。 See here 了解更多信息。

分享和享受。

【讨论】:

  • ROWID 可以更改的情况更多。如果需要将行移动到不同的块,则 UPDATE 可以更改 rowid
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-16
  • 2020-05-25
  • 1970-01-01
相关资源
最近更新 更多