Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie viel realer Speicher wird mit einer varchar(100)-Deklaration in MySQL verwendet?

MySQL speichert 5 Bytes plus ein Byte für die Länge. Wenn das varchar größer als 255 ist, werden 2 Bytes für die Länge gespeichert.

Beachten Sie, dass dies vom Zeichensatz der Spalte abhängt. Wenn der Zeichensatz utf8 ist, benötigt mysql bis zu 3 Bytes pro Zeichen. Einige Speicher-Engines (z. B. Arbeitsspeicher) erfordern immer die maximale Bytelänge pro Zeichen für den Zeichensatz.

Eine Spalte nullfähig zu machen bedeutet, dass mysql ein zusätzliches Byte für bis zu 8 nullfähige Spalten pro Zeile beiseite legen muss. Dies wird als "Nullmaske" bezeichnet.

Es ist nicht einmal konsistent zwischen Speicher-Engines innerhalb von mysql!