Wie groß kann eine id bekommen, die in postgresql
Bin ich mit postgresql und Frage mich, wie groß
id INTEGER PRIMARY KEY
bekommen kann im Vergleich zu
id SERIAL PRIMARY KEY
In java eine int
4 bytes (32 bits) so kann es bis zu 2.147.483.647. Ist dies der Fall in postgresql? Wenn ja, bedeutet das, dass ich nicht vorbei gehen 2.147.483.647 Zeilen?
InformationsquelleAutor abden003 | 2013-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein handliches Diagramm für PostgreSQL:
Quelle
Ihre Einschätzung ist richtig, Sie würde ausgehen von einzigartigen ID ' s, wenn Sie einen Datentyp, der nicht ausreichend war.
bigint
(oderbigserial
, das die gleiche Sache) du bist wirklich, wirklich nicht ausgehen.InformationsquelleAutor Hart CO
Einen
bigserial
ist 8 bytes lang. Wenn das nicht genug ist, ist es möglich, die 128-bit-uuid:Den
uuid_generate_v1mc
Funktion wird durch die uuid-ossp-ModulDer wichtigste Vorteil der uuid-Funktionen: Sie erzeugen eine id, die ist sehr wahrscheinlich einzigartig unter den verschiedenen Systemen. Ein
serial
haben Kollisionen zwischen diesen Systemen.Heh... die Menschen Angst vor exhausing eine
bigint
Taste nur noch nicht getan, der Mathematik.uuid
Tasten sind sehr nützlich für verteilte Systeme aber nicht für Schlüssel Erschöpfung Probleme..durch das Geburtstags-Paradoxon bigint können Konflikte zwischen den Tasten, lange bevor es "erschöpft". UUIDs haben 128 bits dieses problem zu vermeiden.
Wenn Sie die Schlüsselgenerierung nach dem Zufallsprinzip, ja. Mit BIGSERIAL-Sequenzen, keine.
InformationsquelleAutor Clodoaldo Neto