2017-10-01 1 views
2

In meiner Datenbank speichere ich Millionen von Zeilen pro Tag in einer Tabelle und lösche alle Zeilen nach 2 Wochen, weil ich sie nicht mehr benötige.Postgres: ID Auto-Inkrement mit Millionen von Zeilen pro Tag. ist es schlimm?

Ich frage mich, ob es gut oder schlecht ist, eine Primärschlüssel-ID Autoinkrement hinzuzufügen, oder ich werde zu hohe Zahlen schlagen.

Die Tabelle enthält nur Einsätze, wenn ein Benutzer einen Befehl mit Spalten wie der ID des Benutzers, dem Zeitstempel und dem Befehl ausgibt. um einen Primärschlüssel hinzuzufügen, denke ich, dass ich unbedingt ein Autoinkrement hinzufügen muss, das bald sehr hoch werden wird.

sollte ich vermeiden, es unter Berücksichtigung der Anzahl der Einsätze hinzuzufügen?

Antwort

3

Es ist nicht schlecht, es sei denn, es verursacht Leistungsprobleme und Sie haben den Beweis, dass das automatische Inkrement die Quelle dieser Probleme ist, was unwahrscheinlich ist.

Ehrlich gesagt, 1 Million Zeilen pro Tag sind Erdnüsse. Es wird Dir gut gehen. Wenn Sie erwarten, dass Ihr Szenario für mehr als 3 Jahre fortgesetzt wird, sollten Sie serial8 (64-Bit) anstelle von serial (32-Bit) verwenden.

3

Die "automatische Inkrementierung" -Funktionalität in Postgres wird durch die Datentypen serial bereitgestellt. Diese sind in der documentation beschrieben. Wenn Sie Millionen von Zeilen pro Tag einfügen, rate ich Ihnen, bigserial zu verwenden. Sie müssen sich keine Gedanken über Überlauf oder Zurücksetzen des Werts machen.

+0

Ich habe nicht verstanden, wenn die Zeilen nach 2 Wochen gelöscht werden, werden diese Werte für die automatische Inkrementierung wieder verwendet oder nicht mehr – 91DarioDev

+0

Autoincrement-Werte werden nicht erneut verwendet. –

Verwandte Themen