Я нашел два возможных решения для реализации структуры базы данных для сайтов социальных сетей, таких как Facebook.
1 .: Создание таблицы «Отношения» и вставка в нее каждой дружбы. Например: пользователь A добавляет B в качестве друга (A-B), затем логика помещает (A-B) и (B-A) в таблицу «Отношения». Затем он индексирует первый атрибут.
2 .: Создание уникальной таблицы для всех пользователей, содержащих друзей. Большинство баз данных работают с почти 2 миллиардами уникальных таблиц, поэтому это не будет проблемой; тем не менее, размер базы данных будет почти в 300 раз больше (в среднем 300 друзей на пользователя). В этом случае запрос друзей не будет проблемой (так просто, как SELECT * FROM)
Есть идеи? Я где то не прав?
Спасибо всем.