Будет ли RIDID использоваться повторно? - PullRequest
4 голосов
/ 24 марта 2009

В базе данных, такой как Informix, DB2, Oracle и т. Д., Будет ли повторно использоваться rowid, пожалуйста?

Ответы [ 3 ]

9 голосов
/ 24 марта 2009

RowID - это физическое расположение данных, хранящихся на диске. Они уникальны для стола. Как таковые они могут повториться. Если новая запись будет сохранена в том же месте (удаляя старую), то идентификаторы строк будут такими же (повторно использованы).

См. Эту статью для деталей о том, из чего состоит rowid в oracle http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/pseudocolumns008.htm

4 голосов
/ 24 марта 2009

Это можно использовать повторно:

Если вы удалите строку, то Oracle может переназначить свой rowid на новую строку, вставленную позже.

(см. это )

1 голос
/ 24 апреля 2010

также - помните, что это может измениться, если вы экспортируете, а затем импортируете свою базу данных. Вы никогда не должны хранить это значение в качестве ключа, поскольку оно ненадежно.

...