Ich arbeite an einem Projekt, bei dem jeder Benutzer über ein Inventar verfügt, bei dem es sich eigentlich nur um ein Array von IDs handelt, die den tatsächlichen Dingen im Projekt entsprechen.Speichern eines Arrays mit sich wiederholenden Elementen
Um das Inventar zu speichern, möchte ich Postgres verwenden und Daten einfach in ein Zeichenfolgenformat serialisieren/deserialisieren. In diesem Array ist es jedoch wahrscheinlich, dass sie viele einzelne IDs haben. Die IDs sind alle Ganzzahlen, daher plane ich, sie nur mit einem Komma zu verbinden und sie während des Abrufens zu trennen.
Zum Beispiel könnte das Inventar [1, 2, 3, 3, 3, 4]
sein, aber es wäre am besten, es nicht wie 1,2,3,3,3,4
mit einer langen wiederholenden Liste zu speichern.
Gibt es eine effiziente Möglichkeit, doppelte Artikel zu speichern?
Wenn Sie die Daten speichern ist String-Format, warum nicht konvertieren Sie es in JSON, die von der neuesten Postgres DB unterstützt wird? – Nishant
Oh, wusste nicht, dass es existiert. Nun, selbst wenn ich es als JSON-Array speichern würde, würde ich es trotzdem gerne komprimieren. Ich denke ich habe eine Lösung, werde es als Antwort posten. – Punknoodles
PostgreSQL unterstützt auch Array-Spalten, so dass Sie eine 'int []' Spalte verwenden können. Oder verwenden Sie einfach eine separate Tabelle, damit Sie in Ihrer Datenbank die richtige referenzielle Integrität haben. Wie groß sind diese Arrays und wie viele Duplikate haben sie, dass diese Art der Optimierung notwendig ist? –