Non ho mai avuto problemi con le prestazioni su più colonne nulle, anche su database con dimensioni di 100 GB. Immagino che potresti riscontrare problemi se stai eseguendo indici su questi campi e quindi utilizzando null nella query, ma personalmente non l'ho visto come un problema. Poi di nuovo, non ho creato tabelle di database in cui ogni campo tranne 3 era annullabile.
D'altra parte, vedo un problema di architettura quando la maggior parte dei dati è nulla. il motivo generale è a) un database non correttamente normalizzato o b) un tentativo di consentire agli utenti di inserire i dati nella tabella finale piuttosto che creare tabelle separate per "costruire" i dati prima di impegnarsi nel database.
Sta a te determinare la migliore architettura del tuo database.