Về cơ bản, mysql có độ dài hàng thay đổi miễn là không thay đổi độ dài trên mỗi bảng. Do đó, các cột con trống sẽ không sử dụng bất kỳ khoảng trống nào (tốt, gần như).
Nhưng với các đốm màu hoặc cột văn bản, có thể tốt hơn nên chuẩn hóa chúng, vì chúng có thể có dữ liệu lớn để lưu trữ và điều này cần được đọc / bỏ qua mỗi khi quét bảng. Ngay cả khi cột không có trong tập kết quả và bạn đang thực hiện các truy vấn bên ngoài chỉ mục, thì sẽ mất thời gian trên một lượng lớn hàng.
Như một thông lệ tốt, tôi nghĩ sẽ nhanh chóng đặt tất cả các cols quản trị và thường được sử dụng vào một bảng và bình thường hóa tất cả các phần còn lại. Một loại thiết kế "dọc" như trong ví dụ thứ hai của bạn sẽ phức tạp để đọc và ngay khi bạn làm việc với các bảng tạm thời, bạn sẽ sớm gặp phải các vấn đề về hiệu suất.