Pada dasarnya, mysql memiliki panjang baris variabel selama tidak mengubah tingkat per tabel. Dengan demikian, kolom kosong tidak akan menggunakan ruang apa pun (hampir).
Tetapi dengan gumpalan atau kolom teks, mungkin lebih baik untuk menormalkannya, karena ini mungkin memiliki data besar untuk disimpan dan ini perlu dibaca / dilewati setiap kali tabel dipindai. Bahkan jika kolom tidak ada dalam kumpulan hasil dan Anda melakukan kueri di luar indeks, itu akan memakan waktu pada banyak baris.
Sebagai praktik yang baik, saya pikir akan cepat untuk menempatkan semua cols administratif dan yang sering digunakan dalam satu tabel dan menormalkan sisanya. Semacam desain "vertikal" seperti pada contoh kedua Anda akan rumit untuk dibaca dan segera setelah Anda bekerja dengan tabel sementara, Anda akan mengalami masalah kinerja cepat atau lambat.