Лат / лонг, который у вас есть для каждого почтового индекса, является географическим центром для этого почтового индекса, верно? Таким образом, если вы сначала найдете почтовые индексы с географическими центрами в пределах 50 миль, а затем пользователи в этих почтовых индексах, вы можете легко возвращать пользователей на расстоянии более 50 миль. Таким образом, вы жертвовали бы некоторой точностью, делая это таким образом.
Но если у вас много пользователей (больше, чем число почтовых индексов), это будет быстрее, так как вы сначала запросите таблицу меньших почтовых индексов. И вы можете индексировать почтовые индексы в таблице пользователей, поэтому поиск пользователей с определенным почтовым индексом будет быстрым.
Просто некоторые мысли! Итак, если вы ожидаете большого количества пользователей и радиус 50 миль не должен быть точным, я бы нашел почтовые индексы в пределах 50 миль, а затем пользователи в этих почтовых индексах.