2015-02-11 33 views
0

是否總是在Oracle數據庫中創建唯一ID?我知道Oracle數據庫會自動創建一個唯一的字段ROWID,但是如果由於性能問題而重新組織數據庫,那麼不會更改/重構所有ROWID以便我在其他應用程序中使用的ID將被破壞?在Oracle數據庫中創建唯一ID

+2

問題有點寬泛:在一般情況下,不要使用內部(技術)ID作爲參考。甚至不在數據庫的範圍內,當然也不在外面。自己創建(功能)ID。 – evilive 2015-02-11 10:15:07

+0

這取決於你的應用程序 – Exhausted 2015-02-11 11:10:20

回答

0

使用任何關係數據庫時,如果您的數據自然不包含值或值的唯一值組合,則應該創建唯一的仿真關鍵字。 Oracle ROWID對數據庫中的物理地址進行編碼,並且絕不會將存儲在表中。 ROWID只保證在單個事務期間保持不變。數據庫上的各種操作類型,包括分區鍵更新,閃回表操作和收縮表操作。 See here欲瞭解更多信息。

分享和享受。

+0

有更多的情況下,ROWID可以改變。如果行需要移動到不同的塊,UPDATE可以更改rowid – 2015-02-11 13:43:59