Sicuramente è meglio un database bene progettato.
La caratteristica dei database relazionali e quella di avere un insieme di tabelle che sono in relazione.
A mio parere credo che sia meglio avere una "unica" tabella dei msg che una tabella per ogni utente.
Pensa che nell'ipotesi della tua soluzione in ogni caso queste tabelle devono essere in relazione con l'utente che le crea. Quindi cosa ti cambia?
inoltre se ogni utente ha una tabella msg e poi tali utenti partecipano alla stessa conversazione abbiamo una serie di relazioni tra tabelle che non farà altro che aumentare il tempo di accesso e di esecuzione delle query.
Non so se sono stato chiaro