Ist es akzeptabel, JSON-Daten in einer MySQL-Tabellenzeile zu speichern? Ich muss Arrays in einer MySQL-Datenbank speichern. Das Problem ist, ich weiß nicht, wie viele Spalten ich für jeden Benutzer brauche. Also dachte ich, dass ich JSON zum Beispiel in einer Zeile namens array
speichern würde. Ist das der beste Weg?
Bearbeiten:
Ich verwende auch text
als Tabellenspaltentyp.
Ja, es ist eine sehr gute Idee, mysql als Schlüssel-Wert-Speicher zu verwenden, tatsächlich macht Facebook das für einige Zwecke.
%Vor%Die obige Tabellenstruktur wird Sie weit bringen. Es ist sehr einfach zu shard oder Cluster.
Edit: Der Punkt hier ist, PHP, Ruby usw. zu verwenden, um die json / data zu behandeln. Sie tun SELECT ...
, machen Sie Ihre Änderungen, dann INSERT ... ON DUPLICATE KEY UPDATE ...
.
Das Speichern von mehr als einem Stück Daten in einem relationalen Datenbankfeld ist im Allgemeinen falsch. Es ist möglich, Fälle zu betrachten, in denen dies akzeptabel wäre, jedoch nicht zum Speichern eines gesamten Benutzers.
Wenn die Verwendung einer relationalen Datenbankstruktur nicht ausreicht, sollten Sie sich lieber eine NoSQL-Datenbank als MySQL anschauen.
Es ist kein Problem. mySQL kann bereits die meisten Klammern und funky Zeichen in ihrem Textfeld handhaben.
Ich denke es ist nicht. Vier Monate später entscheiden Sie, ob Sie Ihrer Entität ein neues Attribut hinzufügen oder einige Attribute aus Ihrer Entität entfernen möchten. Wie werden Sie Ihre alten JSON-Inhalte analysieren? Wenn Sie nicht wissen, wie viele Spalten Sie in Ihrer Tabelle benötigen, sollten Sie anders denken und vielleicht eine dynamische Struktur wie die user_column-Tabelle erstellen