Ceci est abordé dans le chapitre du manuel MySQL sur les Exigences de stockage . Il n'y a pas de réponse simple; cela dépend du type de données de la colonne, si la colonne est indexée ; et le moteur de stockage. L'impact de l'utilisation de NULL pour une colonne peut varier de rien à plusieurs octets (selon le nombre d'autres colonnes qui sont également compatibles NULL.)
L'impact sur le stockage de la déclaration d'une colonne comme acceptant NULL et du stockage réel d'une valeur NULL est probablement mineur. Avoir une colonne avec beaucoup de valeurs NULL indique souvent un besoin de normalisation (supplémentaire).
La règle de base est de concevoir votre schéma en fonction des propriétés des données, et non de l'impact sur le stockage. Réparez les choses uniquement si elles s'avèrent être un problème.