簡體   English   中英

在數據庫中使用rowid有任何不利之處嗎?

[英]Is there any disadvantage to use rowid in database?

如標題所述,在應用程序中訪問數據庫時,使用rowid有任何不利之處嗎?

盡管rowid唯一地標識表中的行,但是如果基礎表是索引組織表分區表 ,它可能會更改其值。

此外,如果使用EXP / IMP導出和導入表,則行標識符也會更改。

這意味着,不應將rowid存儲起來,以備將來再次使用,因為相應的行可能不存在或包含完全不同的數據。

不能保證特定行的RowId保持不變,因此最好改用主鍵。

您可以在應用程序中使用ROWID來查找您在同一會話的前面正在查看的記錄。 通常,這將是最快的記錄方式。

但是,您永遠不應該將Rowid存儲在數據庫中或其他任何位置,因為從備份中還原等可以更改ROWID。

如果您使用的是Oracle,請使用UROWID (通用ROWID),因為它將在會話期間ROWID可能發生變化的表(例如在索引組織表上)停止使用Physical ROWID,並開始使用Logical ROWID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM