MySQL String: Text maxlength - Typ: Tinytext, Text, Mediumtext, Longtext

Für deine Texte nutzt du sicher den MySQL Typ Text. Kennst du auch die anderen Typen für Text? Nämlich Tinytext, Mediumtext und Longtext? Ich zeige dir, warum die richtige Auswahl des Text-Types in deiner MySQL Datenbank wichtig ist und welche Speicherlängen es dafür gibt.

Bei meine Webseiten nutze ich eine eigene Cachefunktion, welche die gesamte geladene Seite in die MySQL Datenbank speichert. Neue Nutzer erhalten dann diese Cache-Datei aus der Datenbank. Und hier fiel mir auf, dass bei großen Quelltexten ein Teil abgeschnitten wurde und somit die Seite ohne bspw. Footer geladen wurde. Fatal und doch irgendwo logisch. Ich nahm an, dass der Typ Text ausreicht. Weit gefehlt. Und um dir dieses Problem zu ersparen, dieser kurze Artikel über MySQL String Text-Typen.

MySQL Typ: String Text

MySQL Typ: String Text


Im Screenshot siehst du, welchen String-Typ du auswählen kannst. Für fast jede Aufgabe an Textmaterial ist die Auswahl Text üblich. Um Bildcodes oder Seitenquelltexte zu speichern, reicht das aber nicht aus. Denn es gibt für jeden Typ eine maximale Länge (max length).

Typ: Tinytext

Wählst du Tinytext, stehen 255 Bytes zum speichern zur Verfügung.
Dies eignet sich beispielsweise für die descriptions einer Website oder ähnlich klein bleibende Texte.

Typ: Text

Beim Typ Text stehen immerhin schon 64 Kilobytes zur Verfügung.
Eignet sich für Artikel deiner Webseite sicher hervorragend.

Typ: Mediumtext

Der Typ Mediumtext stellt dir 16 Megabytes zur Verfügung.
Für solch eine gewaltige Speichermenge an Text eignet sich dieser Typ z.b. für Bilder (unter 16 MB Bildcode!). Ebenfalls würde dieser Typ für die Cache-Funktion der Webseite ausreichen, wo der Seitenquelltext abgelegt wird.

Typ: Longtext

Und der Typ Longtext ermöglicht 4 Gigabytes an Text zu speichern.
Welche Verwendung es finden könnte? Natürlich auch Quellcode - aber eher von Filmen und Programmen, Musik usw. Für die meisten von uns werden wir diesen Typ wohl nie verwenden.

Fazit

Weiß man, welcher MySQL Datentyp welche Speichermenge maximal speichern kann, so wird einem der zu speichernde Code wenigstens nicht abgeschnitten. Eine aufwendige Fehleranalyse im Quelltext bleibt desswegen erspart. Bei mir kam die Idee auch erst nach dem Check meines Cache-Speicherscripts.
Falls du Fragen, weitere Ideen oder Verbesserungsvorschläge hast, so lass es mich wissen.