На вашу думку, як facebook обчислює взаємних друзів?
Чи кеширував усіх взаємних друзів для кожного користувача? Дозволити MySQL обчислювати за допомогою запиту? Здійснює запит до бази даних, а потім обчислює список? інший?
Відповіді:
2 для відповіді № 1Я вважаю, що це попередньо обчислюється і не робиться коливи завантажуєте сторінку. Як? Існує кілька варіантів розглянути цю проблему. Поширений спосіб - розглядати дані як графік, де кожна людина є вершиною, а край визначає дружбу. Ітерація через кожну існуючу пару осіб і пошук 2 ребер шляху. Вершини, якими ви перейшли, - це взаємні друзі. Якщо ви дійсно хочете вступити в це, я б запропонував почати з вивчення Теорія графіка
При роботі з таким обсягом даних використання MySql та запитів не працюватимуть. На невеликих обсягах даних це буде.