Tôi chưa bao giờ gặp vấn đề với hiệu suất trên nhiều cột rỗng, ngay cả trên cơ sở dữ liệu ở kích thước hợp đồng biểu diễn 100 giây. Tôi tưởng tượng rằng bạn có thể gặp sự cố nếu bạn đang chạy chỉ mục trên các trường này và sau đó sử dụng null trong truy vấn, nhưng cá nhân tôi không thấy đây là vấn đề. Sau đó, một lần nữa, tôi đã không tạo các bảng cơ sở dữ liệu trong đó mọi trường ngoại trừ 3 đều có thể trống.
Mặt khác, tôi thấy một vấn đề về kiến trúc khi hầu hết dữ liệu là null. lý do chung là a) cơ sở dữ liệu được chuẩn hóa không đúng cách hoặc b) cố gắng cho phép người dùng phân chia dữ liệu trong bảng kết thúc thay vì tạo các bảng riêng biệt để "xây dựng" dữ liệu trước khi đưa vào cơ sở dữ liệu.
Việc xác định kiến trúc tốt nhất cho cơ sở dữ liệu của bạn là tùy thuộc vào bạn.