Desidero creare un'app che consenta agli utenti di aggiungere altri utenti a una propria lista di amici. Nel mio database c'è una tabella chiamata 'utenti'. Ogni utente ha un ID univoco e un nome utente univoco, ora ogni utente deve essere in grado di avere un elenco di amici.Il modo migliore per archiviare array di lunghezza variabile in MySQL
Penso che l'opzione migliore per salvare questi elenchi di amici è creare un tavolo separato con due colonne, per ogni utente. Una colonna per gli id degli amici e uno per i loro nomi utente.
Posso cercare e recuperare il nome utente e l'ID amici contemporaneamente. Sul lato negativo avrò bisogno di creare un numero enorme di tabelle (centinaia, migliaia, forse milioni), una per ogni utente.
Ciò renderà la selezione di una tabella dal database lenta? Ciò comporterà inutilmente una notevole quantità di spazio sul server? C'è un modo migliore per salvare una lista di amici per ogni utente?
La chiave primaria sarebbe '(UserId, FriendId)' ann sia '(UserId)' che '(FriendId)' sarebbe Foreign Keys a 'UserTable (Id)' –