Задать вопрос
@Artem0071
Безработный mr. Junior

Как в вк считают общее количество друзей?

Как в вк так быстро считают общее количество друзей?
Ну ладно, как оптимизировать этот процесс?
Если есть таблица с пользователями и отдельная со связями друзей(пользователь-пользователь)
Ведь тогда придется для каждого пользователя от пользователя брать еще его пользователей и сравнивать нет ли у первого пользователя друга-пользователя-пользователя
Это же придется делать цикл в цикле и каждую итерацию обращаться к бд
Как можно упростить этот процесс?
  • Вопрос задан
  • 532 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@LiguidCool
Берется условно 2 таблицы с друзьями обоих пользователей и сравниваются. Количество совпадений и есть "общие" друзья. В чем проблема собственно? Join'ы и IN() в помощь.
Ответ написан
Графовая база данных

Такие СУБД архитектурно приспособлены для выполнения запросов вида "достижима ли вершина А из Б?" или "какие вершины достижимы из А за два перехода?". См. пример из докуметации по Cypher, языку запросов для Neo4j.
Ответ написан
Комментировать
@GIBRID21
...
Наверно просто есть переменная "количество друзей", которая обновляется при обновлении списка друзей. И не нужно каждый раз считать друзей при запросе страницы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы