2017-07-04 3 views
0

Mit PHP speichere ich serialisierte Objekte in einer MySQL-Datenbank.PHP + MySQL - Welcher Spaltentyp sollte zum Speichern serialisierter Objekte verwendet werden?

Welchen Spaltentyp sollte ich verwenden? Ich verwende derzeit "LONGTEXT", da es sich im Grunde um eine Zeichenfolge handelt.

Es funktioniert, aber ich mache mir Sorgen, dass größere Objekte nicht korrekt gespeichert werden können.

Welchen Spaltentyp sollte ich verwenden?

+0

muss mich fragen, ob es tatsächlich mehr Sinn, nicht zu serialisiert machen würde und sie in normalisierte Tabellenstruktur zu setzen. –

+0

Warum? Wegen der Längenbeschränkung? –

+0

Das ist ein Faktor, ein anderer in der Fähigkeit, Spalten zu suchen und zu indizieren, Sie können die Beziehungen leichter sehen, Sie können doppelte Daten usw. reduzieren usw. Die Liste geht weiter. –

Antwort

0

immer BLOB Typ verwenden serialisierte Objekte zu speichern.

Verwendung MEDIUMBLOB oder nur BLOB, solange diese Typen ausreichen Ihre serialisierten Daten zu speichern.

BLOB Typ enthält größere Objekte und binär sicher.

Lesen Sie mehr über BLOB

+0

Eine binäre große Objektspalte mit einer maximalen Länge von 16777215 (2^24 - 1) Zeichen. Eine binäre große Objektspalte mit einer maximalen Länge von 4294967295 (2^32 - 1) Zeichen. Ein ** BLOB ** kann maximal 65535 Bytes umfassen. Wenn Sie mehr benötigen, sollten Sie ein ** MEDIUMBLOB ** für 16777215 Bytes oder ein ** LONGBLOB ** für 4294967295 Bytes verwenden. –

+0

Es hängt von Ihrer Serialisierungsmethode ab. JSON ist UTF-8 und sollte als solches gespeichert werden, und MySQL 5.6 hat einen JSON-Spaltentyp. – tadman

0

BLOB, kann verschiedene Arten von Daten enthalten.

https://dev.mysql.com/doc/refman/5.7/en/blob.html

Dies war der Spalt Typ i vor kurzem zum Speichern von Objekten in einer Datenbank verwendet.

hoffe, das hilft

+0

Danke! Mit LONGBLOB wissen Sie, was die Längenbegrenzung ist? –

+0

Meine Annahme ist, dass Sie LONGBLOB nicht brauchen, seine Größenbeschränkung ist 4GB – JParkinson1991

+0

Danke! Sie wissen, wo kann ich die Größenbeschränkungen für jedes BLOB finden? –

Verwandte Themen