문제

우편 번호 근접 쿼리로 검색하는 데 어려움이 있습니다. 나는 Google을 검색하고 검색했지만 내가 찾은 모든 것은 너무 느리거나 일할 수 없다. 다음은 다음과 같습니다.

나는 모든 미국 우편 번호 (~ 70,500)가있는 테이블이있는 데이터베이스가 있으며 우편 번호가 포함 된 수천 개의 매장 (~ 10,000+)의 테이블이 있습니다. 우편 번호를 제공하고 가장 가까운 상점 목록을 먼 거리별로 정렬 한 우편 번호로 반환 할 수 있어야합니다.

누구든지 그들이 사용 했고이 많은 부하를 처리 할 수있는 좋은 자원을 지적 할 수 있습니까? 그것은 대단히 감사 할 것입니다. 감사!

도움이 되었습니까?

해결책

위도와 경도와 관련된 각 우편 번호가있는 테이블을 만들어야합니다. 누군가가 지퍼와 거리에 들어가면 그 안에있는 위도와 종단 범위를 계산 한 다음 해당 경계 상자 안에있는 모든 우편 번호를 선택합니다. 그런 다음 해당 세트 내에 우편 번호가있는 상점을 선택하고 제공된 지퍼와 거리를 계산하고 분류하십시오. (사용 Haversine 공식 지구에서 점 사이의 거리를 계산하려면)

속도가 주요 관심사 인 경우 모든 거리를 사전에 계산하고 싶을 수도 있습니다. 상점 우편 번호 열, 다른 우편 번호 및 거리 열이 포함 된 테이블이 있습니다. 행을 줄여야 할 경우 다른 우편 번호를 특정 거리 (100 마일 또는 무엇이든지) 내에서 우편 번호로 제한 할 수 있습니다. 거리를 기준으로 링크를 제한하지 않으면> 7 억 행의 테이블이 있지만 확실히 빠른 조회를 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top