Quale sarebbe la migliore progettazione di DB per un sito web di social network. Una singola tabella con più colonne e meno righe o più tabelle con meno colonne ma più righe.
Ad esempio: L'utente può pubblicare un aggiornamento sul proprio muro o in un gruppo.
Due progetti di DB che potrei pensare sono:
1) UserPosts : id, userId, post, datetime UserGroupPost : id, groupId, userId, post, datetime
Problema di Potentail: potrebbe richiedere un join, che può (in futuro) essere una query lenta.
2) Post : id, userId, groupId, post, datetime (dove groupid sarebbe null se l'utente postasse sulla loro bacheca)
Potenziale problema: il ciclo su un set di dati di grandi dimensioni potrebbe richiedere un (lungo) tempo.
Dove posso ottenere prestazioni migliori quando i dati aumentano? C'è qualche altro (migliore) modo?