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
TEXTbesitzt eine festgelegte maximale Länge von 65535 Zeichen. Hier können wir diesen Wert nicht bearbeiten oder manipulieren.- Benötigt
x + 2Bit Speicherplatz auf der Festplatte. Dabei stehtxfür die Grösse des betrachteten Strings. - Ein weiteres wichtiges Merkmal von
TEXTist, dass es nicht vollständig Bestandteil eines Index sein kann. Das heißt, der Benutzer müsste eine Länge definieren.
MySQL VARCHAR(M)
VARCHARhat 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
VARCHARx + 1Byte Speicherplatz auf der Festplatte, wenn die Gesamtzahl der Zeichen kleiner oder gleich 255 ist. Und es brauchtx + 2Byte Speicherplatz auf der Festplatte, wenn die Gesamtzahl der Zeichen ist größer oder gleich 256 Zeichen und kleiner als 65535 Zeichen. - Schließlich kann
VARCHARTeil 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.
