2010-06-30 3 views
8

관련 위도와 경도를 가진 사용자 목록을 저장할 수있는 MySQL 스키마를 설계하려고합니다.MySQL을 사용하여 특정 위도/경도에 가까운 점을 효율적으로 계산하는 가장 좋은 방법은 무엇입니까?

그러면 특정 사용자에 대해 가장 가까운 50 명의 사용자를 그/그녀에게 반환하고 거리별로 정렬 할 수있는 쿼리를 작성하려고합니다 (가장 가까운 것이 먼저 제시됨).

이 테이블에는 수천 명의 사용자가있을 수 있으므로이 데이터를 저장하고 쿼리하는 가장 효율적인 방법은 무엇입니까?

+0

PostgreSQL을 살펴 보았습니까? 기본적으로 공간 데이터 유형을 지원하며 근접, 인클로저 등을위한 비교 연산자를 많이 가지고 있습니다. – HorusKol

+0

MongoDB는 out-of-the-box Geospatial Index를 지원합니다. 핵심 사용 사례는 요약 한 것과 동일합니다 (예 : 모범적 인 쿼리는 G/I의 Mongo 요약 페이지에있는 것과 거의 동일합니다.) – doug

답변

5

이 기사를 읽으십시오. Creating a Store Locator with PHP, MySQL & Google Maps이 기사에서는 주어진 위도와 경도를 계산하는 가장 좋은 방법 인 Haversine formula에 대한 MySQL 솔루션을 보여줍니다.

+0

Bill은 StackOverflow 스토킹입니까? 나 오늘 .... –

+0

아니, 그것은 그 위대한 마음이 비슷하게 생각하는거야! :) –

관련 문제