По принцип mysql има променлива дължина на ред, стига да не се промени на ниво на таблица. По този начин празните колони няма да използват никакво място (е, почти).
Но с блобове или текстови колони може да е по-добре да ги нормализирате, тъй като те може да имат големи данни за съхранение и това трябва да се чете/пропуска всеки път, когато се сканира таблица. Дори ако колоната не е в набора от резултати и правите заявки извън индекс, ще отнеме време за голямо количество редове.
Като добра практика мисля, че ще бъде бързо да се съберат всички административни и често използвани col в една таблица и да се нормализират всички останали. Един вид "вертикален" дизайн, както във втория ви пример, ще бъде сложен за четене и веднага щом работите с временни таблици, рано или късно ще се сблъскате с проблеми с производителността.