Mysql
 sql >> Database >  >> RDS >> Mysql

Quanto spazio di archiviazione reale viene utilizzato con una dichiarazione varchar(100) in mysql?

Mysql memorizzerà 5 byte più un byte per la lunghezza. Se varchar è maggiore di 255, memorizzerà 2 byte per la lunghezza.

Si noti che questo dipende dal set di caratteri della colonna. Se il set di caratteri è utf8, mysql richiederà fino a 3 byte per carattere. Alcuni motori di archiviazione (ad esempio la memoria) richiederanno sempre la lunghezza massima in byte per carattere per il set di caratteri.

Rendere nullable una colonna significa che mysql dovrà mettere da parte un byte aggiuntivo per un massimo di 8 colonne nullable per riga. Questa è chiamata "maschera nulla".

Non è nemmeno coerente tra i motori di archiviazione all'interno di mysql!