it-swarm.com.de

Speichern von Daten in einer einzelnen Spalte einer Tabelle OR als Teil von json

Ich erstelle eine eigene Komponente zum Speichern von Produkten (Einkaufswagen). Die meisten Produkte haben normalerweise ihre Preise und andere Eigenschaften. Wie können diese Attribute in der Datenbank einfacher und besser gespeichert werden: in einer einzelnen Spalte oder als Teil von json? Das heißt mögen:

id     name      price        attribs
1    Product1    1000    "field1":"value1"
2    Product2    2000    "field1":"value2"

OR

id     name                  attribs
1    Product1    "price":"1000","field1":"value1"
2    Product2    "price":"2000","field1":"value2"

Die Frage betrifft insbesondere die Lagerung von Tausenden von Produkten. Was ist schneller, wenn Joomla und Datenbank zusammenarbeiten und in welchem ​​Fall die Serverlast geringer ist? Und wann ist es richtiger, Daten als json statt als einzelne Spalte zu speichern? Bitte erkläre

1
stckvrw

Es gibt verschiedene Möglichkeiten, Daten in Datenbanken zu speichern. Wie Sie dies tun möchten, hängt von Ihrer Anwendung, der Tiefe und dem zukünftigen Wachstum ab.

Ich bin kein Experte auf diesem Gebiet, aber ich habe die Erfahrung zu wissen, dass JSON-Speicher selten effizient ist und letztendlich auf Sie zurückfällt.

Wenn Sie diese einfachen Daten nur in einer einfachen Tabelle speichern möchten, scheint es vielleicht einfacher zu sein, sie einfach in JSON zu zerlegen. Die Vergangenheit zeigt jedoch deutlich, dass die Strukturierung von Datenbanken unweigerlich an Effizienz gewinnt und andere Personen in Ihren Code einbezogen und die Anwendung erstellt werden. Wenn Sie beispielsweise den Preis eines einzelnen Produkts ändern möchten, müssen Sie die Daten herunterziehen, die Daten deserialisieren, den Preis ändern und dann zurücksetzen. Mit mehreren Spalten können Sie dies in einem einfachen Datenbankaufruf tun.

Ein weiteres Problem kann auftreten, wenn Sie versuchen, komplexere Datenbankabfragen durchzuführen, z. B. eine Liste aller Produkte mit einem Preis von 50 oder weniger oder einer speziellen Spalte mit einem speziellen Wert. Auch wenn Sie an anderen Tabellen teilnehmen möchten, wird dies kompliziert.

Nach meiner persönlichen Erfahrung empfehle ich dringend, mehrere Spalten zu verwenden. Der einzige Fall, in dem ich JSON verwenden würde, ist, wenn ich dynamische Spalten benötigen sollte, was eher selten vorkommt.

4
Purple Penguin

Ich denke, Sie sollten es separat tun. Das Abrufen des Preises für einen einzelnen Artikel von Tausenden ist hier einfacher. Außerdem können Sie ein Rabatt-/Angebotssystem implementieren, wenn Sie dies separat tun. Ich speichere den Preis separat in der Datenbank. Ich benutze json für Bürozeiten und -tage, solche Dinge. Ich hoffe das hilft :)

0
suraj.bhanari