Tjek https://dev.mysql.com /doc/refman/5.7/da/string-type-overview.html
Dybest set alle disse typer undtagen CHAR er variabel længde.
For eksempel, hvis du har VARCHAR(72) og du skriver abcd i det, vil du gemme 5 bytes. 4 bytes for hvert tegn og et præfiks på 1 byte til at gemme længden af strengen (som er 4).
Hvis længden af strengen er over 255 tegn, vil VARCHAR-præfikset være 2 bytes. Altså en VARCHAR(300) med en streng på 256 tegn gemt i den fylder 258 bytes.
TINYTEXT har altid et præfiks på 1 byte, fordi du kun kan gemme 255 tegn i det, så abcd ville tage 5 bytes.
TEXT har et præfiks på 2 byte, så abcd ville være 6 bytes.
LONGTEXT har et 4 byte præfiks, så abcd ville være 8 bytes.
Til sidst er der den næsten ubrugelige CHAR type. En CHAR(72) vil altid fylde 72 bytes, uanset hvad du gemmer i den. Det er egentlig kun nyttigt for super korte felter, hvor der altid er nøjagtig det samme antal tegn i feltet. Som Y eller N ville være en god CHAR(1) kandidat.