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