ILoveYAnny
@ILoveYAnny

Как сделать запрос по зависимости один ко многим, с наименьшими затратами, в MySQL?

Здравствуйте, у меня есть массив со 100 элементами. Предположим это города. Каждый пользователь может подписаться на несколько городов и получать по ним информацию. В одну единицу времени начинается проверка на подписку по всем пользователям. Так-же пользователи могут сами запросить эту информацию, в одну единицу времени может выполняться несколько запросовю. Список городов в массиве может меняться, проверка осуществляется только по этому массиву.

Я делал так, перебирал массив и смотрел есть ли подписка и запросившего пользователя. Очень быстро ресурсы закончились.

Как можно реализовать эту задачу? Возможно применить какие-то другие технологи...
  • Вопрос задан
  • 203 просмотра
Решения вопроса 2
В действительности вы описали связь "многие ко многим".

Один пользователь может быть связан с несколькими городами и к одному городу может быть привязано несколько пользователей.

Вам нужно реализовать подобную структуру в БД
5acb21642fbf3129068724.jpeg

А дальше нужны грамотные индексы по таблицам.
В таблице связей первичный ключ делаете составным из 2х полей
Ответ написан
daemonhk
@daemonhk
ПсиХоПат
1. Делаете таблицу отношений между городами и пользователями
2. Заранее получаете список городов и пользователей, а также их отношения, НЕ одним запросом
3. В цикле php проверяете кто к кому относится
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы