Unterschied zwischen VARCHAR und CHAR in MySQL

Preet Sanghavi 28 März 2022
Unterschied zwischen VARCHAR und CHAR in MySQL

Dieses Tutorial stellt die Unterschiede zwischen varchar und char in MySQL vor.

Einige der wichtigsten Punkte für jeden sind wie folgt.

CHAR

  • CHAR ist ein Datentyp mit festen Leerzeichen, der Zeichenketten unterstützt.
  • Leere oder Reste im Text oder String werden durch Leerzeichen oder Leerzeichen ersetzt.
  • CHAR nimmt eine Ein-Byte-Größe für jedes Zeichen in der Eingabezeichenfolge oder im Text an.
  • Wir können also sagen, dass, wenn wir CHAR(100) definieren, es die Größe von 100 Bits enthält, unabhängig von der Länge der Zeichenfolge oder der Anzahl der Zeichen.

VARCHAR(M)

  • VARCHAR hat eine editierbare Größe mit maximal 65535 Zeichen. Der Benutzer müsste eine Länge zwischen 1 und 65535 Zeichen angeben.
  • Darüber hinaus benötigt VARCHAR x + 1 Byte Platz auf der Festplatte, wenn die Gesamtzahl der Zeichen kleiner oder gleich 255 ist. Und es braucht x + 2 Byte Platz auf der Festplatte, wo die Gesamtzahl der Zeichen ist größer oder gleich 256 Zeichen und kleiner als gleich 65535 Zeichen.
  • Schließlich kann VARCHAR Teil eines Indexes sein.

Daher können wir die wichtigsten Unterschiede zusammenfassen: varchar ist keine feste Länge, während char eine feste Länge oder eine feste Größe ist.

In der Praxis können wir davon ausgehen, dass die Verwendung von varchar besser ist als die Verwendung des Datentyps char. Der Grund für diese Annahme ist, dass mit dem Datentyp varchar viel Platz gespart werden kann.

Schauen wir uns ein Beispiel an, um den Vorteil von varchar zu erkennen.

Angenommen, wir definieren ein char als char(25) und speichern den String-Wert als Preet. Lassen Sie uns andererseits eine andere Spalte mit dem Datentyp varchar mit einem String-Wert als Preet definieren.

Obwohl diese Spalten mit unterschiedlichen Datentypen den Wert Preet haben, verbraucht varchar nur 5 Bits, während char die gesamten 25 vordefinierten Bitgrössen verbraucht. Der restliche Leerraum wird mit char-Leerzeichen aufgefüllt.

Dieser Vorteil von varchar kann in Produktionsumgebungen, in denen die Speicherung ein großes Problem darstellt, enorm sein. Wenn wir varchar verwenden, müssen wir uns außerdem keine Sorgen machen, dass unsere String-Größe einen vordefinierten Bitwert überschreitet.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub