Heim > Artikel > Backend-Entwicklung > Wie kann ich Arrays effizient in einer MySQL-Datenbank speichern?
Arrays in MySQL speichern: Ein umfassender Leitfaden
Bei der Arbeit mit relationalen Datenbanken wie MySQL kann es schwierig sein, Arrays effizient zu speichern. Dieser Artikel bietet eine detaillierte Anleitung zum Speichern und Abrufen von Arrays in einem einzelnen MySQL-Feld.
Vor- und Nachteile von Array-Speicher
Es gibt keine inhärenten „guten“ Möglichkeiten dafür Speichern Sie Arrays in einem einzelnen Feld. Das Serialisieren und Deserialisieren von Daten mit Funktionen wie serialize() und unserialize() mag wie eine Lösung erscheinen, aber dieser Ansatz schränkt die Abfragebarkeit und Datenintegrität ein.
Alternativer relationaler Ansatz
Der empfohlene Ansatz umfasst die Umstrukturierung Ihres Schemas, um den Bedarf an Array-Speicher zu eliminieren. Betrachten Sie beispielsweise das folgende Array:
<code class="php">$a = [ 1 => [ 'a' => 1, 'b' => 2, 'c' => 3 ], 2 => [ 'a' => 1, 'b' => 2, 'c' => 3 ], ];</code>
Um diese Daten in MySQL zu speichern, würden Sie eine Tabelle wie diese erstellen:
<code class="sql">CREATE TABLE test ( id INT UNSIGNED NOT NULL PRIMARY KEY, a INT UNSIGNED NOT NULL, b INT UNSIGNED NOT NULL, c INT UNSIGNED NOT NULL );</code>
Mit diesem Ansatz können Sie Ihre Daten effektiv abfragen . Hier sind Beispiele für MySQL-Abfragen:
<code class="sql">SELECT * FROM test; INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);</code>
Zusätzliche Alternativen
Wenn Sie Arrays in einem einzelnen Feld speichern müssen, können Sie auch die Verwendung von JSON-Funktionen in Betracht ziehen:
Das obige ist der detaillierte Inhalt vonWie kann ich Arrays effizient in einer MySQL-Datenbank speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!