performance database

Salve a tutti :)

Sto realizzando una community virtuale dedicata alla musica, dove sono presenti principalmente due tipi di utenti: Utente Normale, Utente Band Musicale.

Questi tipi di utenti si differenziano tra loro solo per alcuni campi.

Allora ho pensato due soluzioni:

1)Fare in unica tabella poichè hanno molti campi comuni , l'unico problema che saranno presenti nei campi nulli di tipo varchar.A questo punto mi chiedo i campi varchar NULL quanto occupano ?

2)Fare tre tabelle. Tutenti - Tprofiliutenti - Tprofiliband . Dove in tutenti ci saranno tutti i campi comuni, invece nelle altre tabelle ci saranno i rispettivi campi per l'utente e per la band con la chiave esterna dell'idutente.

Questa soluzione mi comporta però a fare due query di update quando voglio aggiornare il profilo e a fare query di select con dei join.

Sarei più deciso a puntare sulla prima soluzione...però voi che consigliate?

inviato 10 anni fa
Toto007
X 0 X

Devi valutare quanti NULL pensi di dover inserire mediamente nella tabella. Se sono parecchi potresti utilizzare 2 tabelle: una per gli utenti semplici e l'altra per le Band. In questo caso, dal login capisci che tipo di utente è entrato, lo memorizzi in sessione,e quando vai a fare le query lavori con una sola tabella, quella a cui appartiene l'utente.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda