Database 在Oracle数据库中创建唯一ID
总是在Oracle数据库中创建唯一的ID是否更可取?我知道Oracle数据库会自动创建一个唯一的字段ROWID,但是,如果由于性能问题而重新组织数据库,我的所有rowid是否都会被更改/重组,这样我在其他应用程序中使用的id就会被破坏?在使用任何关系数据库时,如果数据自然不包含唯一的值或值的组合,则应该创建唯一的人工键。Oracle ROWID对数据库中的物理地址进行编码,因此不应将其存储在表中。ROWID仅保证在单个事务的持续时间内保持不变。数据库上的各种类型的操作,包括分区键更新、闪回表操作和收缩表操作。以获取更多信息Database 在Oracle数据库中创建唯一ID,database,oracle,database-design,oracle11g,Database,Oracle,Database Design,Oracle11g,总是在Oracle数据库中创建唯一的ID是否更可取?我知道Oracle数据库会自动创建一个唯一的字段ROWID,但是,如果由于性能问题而重新组织数据库,我的所有rowid是否都会被更改/重组,这样我在其他应用程序中使用的id就会被破坏?在使用任何关系数据库时,如果数据自然不包含唯一的值或值的组合,则应该创建唯一的人工键。Oracle ROWID对数据库中的物理地址进行编码,因此不应将其存储在表中。ROWID仅保证在单个事务的持续时间内保持不变。数据库上的各种类型的操作,包括分区键更新、闪回表操作
分享和享受。问题有点宽泛:一般来说,不要使用内部技术ID作为参考。甚至不在数据库的范围内,当然也不在数据库之外。自己创建功能ID。这取决于您的应用程序ROWID可以更改的情况更多。如果需要将行移动到其他块,则更新可以更改rowid