У меня есть база данных Microsoft SQL Server с таблицей расположений. Каждое местоположение имеет свой адрес, а также координаты широты и долготы.
В моем приложении пользователь может ввести почтовый индекс, и мы вернем список близких мест.
Это мой подход.
а) Используя БД с почтовым индексом, я ищу почтовый индекс по латинскому языку (это центральная точка).
б) Я запускаю поиск, подобный этому
SELECT Position_ID, distance(pos_lon,pos_lat,zip_lon,zip_lat) dist
FROM Positions
ORDER BY dist
«Расстояние» - это функция, которая вычисляет расстояние между двумя точками.
Проблема в том, что по мере того, как БД моего местоположения увеличивается, время выполнения этих поисков начинает расти.
Есть ли лучший подход?