Использование mysql db. У меня есть столбец «latlong», который является точечным типом с пространственным индексом. Я хотел бы получить самые близкие местоположения в 4 милях ближе к широте и долготе.поиск long long с mysql с пространственными
До сих пор у меня есть это ...
SELECT `postcode`,county, (3959 * acos(cos(radians(51.585738)) * cos(radians(x(GeomFromText(astext(latlong))))) * cos(radians(y(GeomFromText(astext(latlong)))) - radians(-0.260878)) + sin(radians(51.585738)) * sin(radians(x(GeomFromText(astext(latlong))))))) AS distance
FROM uk_p HAVING distance < 4 ORDER BY distance LIMIT 0 , 20
У меня есть только 2900 записей, и она занимает около 0,0277 сек. Есть ли способ оптимизировать этот запрос, так как я обеспокоен тем, что по мере роста базы данных медленнее будет этот запрос ...
Посмотрите на этот вопрос http://stackoverflow.com/questions/1006654/fastest-distance-lookup-given-latitude-longitude –