Del Manual de MySQL 5.0 :
Solo uso VARCHAR cuando estoy seguro que los datos que la columna necesita contener nunca excederán una cierta longitud, e incluso entonces soy cauteloso. Si estoy almacenando una cadena de texto, tiendo a usar uno de los tipos de TEXTO.
Consulte los Requisitos de almacenamiento de MySQL para obtener más información sobre cómo se utilizan los bytes.