Unterschied zwischen VARCHAR und TEXT in MySQL
In diesem Artikel werden wir die Unterschiede zwischen VARCHAR
und TEXT
in MySQL diskutieren. Einige der wichtigsten Unterschiede sind wie folgt.
MySQL TEXT
TEXT
besitzt eine festgelegte maximale Länge von 65535 Zeichen. Hier können wir diesen Wert nicht bearbeiten oder manipulieren.- Benötigt
x + 2
Bit Speicherplatz auf der Festplatte. Dabei stehtx
für die Grösse des betrachteten Strings. - Ein weiteres wichtiges Merkmal von
TEXT
ist, dass es nicht vollständig Bestandteil eines Index sein kann. Das heißt, der Benutzer müsste eine Länge definieren.
MySQL VARCHAR(M)
VARCHAR
hat eine editierbare Größe mit maximal 65535 Zeichen. Das heißt, der Benutzer müsste eine Länge zwischen 1 und 65535 Zeichen angeben.- Außerdem benötigt
VARCHAR
x + 1
Byte Speicherplatz auf der Festplatte, wenn die Gesamtzahl der Zeichen kleiner oder gleich 255 ist. Und es brauchtx + 2
Byte Speicherplatz auf der Festplatte, wenn die Gesamtzahl der Zeichen ist größer oder gleich 256 Zeichen und kleiner als 65535 Zeichen. - Schließlich kann
VARCHAR
Teil eines Index sein.
Einige andere Unterschiede können wie folgt verstanden werden:
Ein weiterer Unterschied besteht darin, dass Sie keinen Index für eine TEXT
-Spalte erstellen können (außer für einen Volltextindex).
Sie müssen VARCHAR
verwenden, wenn die Spalte einen Index haben soll. Beachten Sie jedoch, dass die Länge eines Index begrenzt ist. Wenn Ihre VARCHAR
-Spalte also zu groß ist, müssen Sie nur die ersten paar Zeichen in Ihrem Index verwenden.
Wenn Sie jedoch wissen, dass die maximale Länge des möglichen Eingabestrings nur 65535 beträgt, sollten Sie VARCHAR
verwenden. Zum Beispiel eine Telefonnummer, ein Name oder ähnliches. Anstelle von TINYTEXT
oder TEXT
können Sie dann VARCHAR(30)
verwenden, und wenn jemand versucht, den Text des gesamten Buches von Sapiens
in Ihrer Datenbank zu speichern, werden nur die ersten 30 Zeichen gespeichert.
Daher können wir mit Hilfe dieses Tutorials die wichtigsten Unterschiede zwischen VARCHAR
und TEXT
in der MySQL-Datenbank erkennen.