Для каждого пользователя создается своя база, в которой есть friends табличка с одним столбцом user.
user
1
2
3
В этом столбце хранятся ключи на пользователей, которые хранятся в основной таблице.
id | username | ...
1 Tom
2 Max
3 Kate
4 Sara
5 I
Я пользователь с id 5 и мои друзья Tom, Max, Kate. Теперь я хочу найти среди списка друзей Катю, то есть мне нужно делать join.
Таблиц друзей много и держать их все в одной базе я считаю не хорошо. Поэтому я разбил их на базы user_1, user_2, user_n. Теперь я не могу сделать join на таблицу с другой базы и нужно делать 2 запроса - что не хорошо. Как избежать?
Я решил отказаться создать таблицу с друзьями всех пользователь формата:
my_id | friend_id
5 1
5 2
5 3
2 4
В качестве решения вижу такое: перекопировать имена с основой таблицы в таблицу друзей, но если пользователь меняет имя, то начинается хаос. Или все таки 2 запроса в разные базы?