Ich habe eine Tabelle mit Nachrichten. Nennen wir diese Tabelle news
. Eine Gruppe von Benutzern fügt fortlaufend neue Zeilen in news
ein. Ein Benutzer, der gerade den Newsfeed durchsucht (Daten aus der Tabelle). Wie kann ich die Paginierung konsistent machen, wenn man bedenkt, dass während ein Benutzer beispielsweise auf der ersten Seite surft, andere Benutzer mehr Daten darin einfügen. Also, wenn die erste Seite hatte, sagen wir 18 Nachrichten, dann muss ich OFFSET 18
verwenden, aber in diesem Fall werde ich falsche Daten abrufen, weil neue Nachrichten bereits eingefügt wurden.Postgres: dynamische Offset
Wie implementiere ich die Paginierung richtig?
Ist die Paginierung nach Zeitstempel der Nachrichteneinfügung geordnet? Hat die Reihe eine eindeutige ID? –
@ClodoaldoNeto, Zeilen haben sowohl UID- als auch Insertionszeitstempel. Sollte ich die Paginierung auf dem Einfüge-Zeitstempel statt auf dem Offset basieren lassen? Ich bin mir nicht sicher, ist es möglich, mehr als eine Zeile mit einem eindeutigen Zeitstempel zu haben? Ich meine, wenn es in einer einzigen Tabelle ist, kann pg schneller als eine Zeile pro ms einfügen? – stkvtflw