Je pense que l'avantage de stocker plus de lignes (c'est-à-dire normalisé) dépend des considérations de conception et de maintenance face au changement.
En outre, si les 140 colonnes ont la même signification ou si elles diffèrent d'une expérience à l'autre - en modélisant correctement les données selon les règles de normalisation - c'est-à-dire comment les données sont-elles liées à une clé candidate.
En ce qui concerne les performances, si toutes les colonnes sont utilisées, cela fait très peu de différence. Parfois, une opération pivot/unpivot peut être coûteuse sur une grande quantité de données, mais cela fait peu de différence sur un seul modèle d'accès à clé. Parfois, un pivot dans la base de données peut rendre votre code frontal beaucoup plus simple et le code principal plus flexible face aux changements.
Si vous avez beaucoup de valeurs NULL, il est peut-être possible d'éliminer des lignes dans une conception normalisée, ce qui économiserait de l'espace. Je ne sais pas si MySQL prend en charge un concept de table clairsemée, qui pourrait entrer en jeu ici.