Saya tidak pernah memiliki masalah dengan kinerja pada beberapa kolom nol, bahkan pada database dalam ukuran 100-an gigs. Saya membayangkan Anda dapat berakhir dengan masalah jika Anda menjalankan indeks pada bidang ini dan kemudian menggunakan null dalam kueri, tetapi saya belum melihat ini sebagai masalah secara pribadi. Kemudian lagi, saya belum membuat tabel database di mana setiap bidang kecuali 3 dapat dibatalkan.
Di sisi lain, saya melihat masalah arsitektur ketika sebagian besar datanya nol. alasan umumnya adalah a) database yang tidak dinormalisasi dengan benar atau b) upaya untuk mengizinkan pengguna menyusun data di tabel akhir daripada membuat tabel terpisah untuk "membangun" data sebelum berkomitmen ke database.
Terserah Anda untuk menentukan arsitektur terbaik dari database Anda.