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