Поскольку ваши данные находятся в таблице mysql, вам действительно нужно решение, с которым SQL сможет вам помочь.
Я предполагаю, что у каждого местоположения есть координаты x и y. Сохраните их как отдельные записи в таблице.
Вы можете быстро сузить поле поиска до поля с центром в интересующей вас области.
например,
WHERE X > (MyPosX - Range) AND X < MyPosX + Range)
AND Y > (MyPosY - Range) AND Y < MyPosY + Range)
Если у вас есть меньший набор предметов, которые могут быть в пределах досягаемости, вы можете использовать более итеративный подход
Редактировать: Избегайте расчетов квадратного корня при расчете фактических расстояний, поскольку они дороги. например, вместо
sqrt(x*x + y*y) < distance
попробуй
(x*x + y*y) < distance*distance
// distance*distance is a constant and can be calculated once