it-swarm.com.de

MySQL VARCHAR Größe?

Ich frage mich, ob bei einem VARCHAR von 200 Zeichen und einer Zeichenfolge von 100 Zeichen 200 Bytes oder nur die tatsächliche Größe der Zeichenfolge verwendet werden.

60
SBSTP

100 Zeichen.

Dies ist die var (Variable) in varchar: Sie speichern nur das, was Sie eingeben (und zusätzliche 2 Bytes, um die Länge bis zu 65535 zu speichern )

Wenn es char(200) wäre, würden Sie immer 200 Zeichen speichern, die mit 100 Leerzeichen aufgefüllt sind

Siehe die Dokumentation: "Die CHAR- und VARCHAR-Typen"

87
gbn

VARCHAR bedeutet, dass es sich um ein Zeichen mit variabler Länge handelt, sodass nur so viel Platz benötigt wird, wie erforderlich ist. Wenn Sie jedoch etwas über die zugrunde liegende Struktur wissen, ist es möglicherweise sinnvoll, VARCHAR auf einen Maximalbetrag zu beschränken.

Wenn Sie beispielsweise Kommentare des Benutzers gespeichert haben, können Sie das Kommentarfeld auf nur 4000 Zeichen beschränken. In diesem Fall ist es nicht sinnvoll, die SQL-Tabelle mit einem Feld zu versehen, das größer als VARCHAR (4000) ist.

http://dev.mysql.com/doc/refman/5.0/en/char.html

12
dwmcc

Tatsächlich werden 101 Bytes benötigt.

MySQL-Referenz

5
panoet