Quiero hacer una aplicación que permita a los usuarios agregar otros usuarios a una lista personal de amigos. En mi base de datos hay una tabla llamada 'usuarios'. Cada usuario tiene una identificación única y un nombre de usuario único, ahora cada usuario necesita tener una lista de amigos.La mejor manera de almacenar matrices de longitud variable en MySQL
Creo que la mejor opción para guardar estas listas de amigos es crear una tabla separada con dos columnas, para cada usuario. Una columna para los id de los amigos y otra para sus nombres de usuario.
Puedo buscar y recuperar el nombre de usuario y el id de amigos al mismo tiempo. A la baja, tendré que crear un gran número de tablas (cientos, miles, quizás millones), una para cada usuario.
¿Esto hará que la selección de una tabla de la base de datos sea lenta? ¿Esto costará innecesariamente una gran cantidad de espacio en el servidor? ¿Existe alguna forma mejor de guardar una lista de amigos para cada usuario?
La clave principal sería '(UserId, FriendId)' ann tanto '(UserId)' como '(FriendId)' serían claves externas a 'UserTable (Id)' –