20 근처에있는 가장 가까운 비즈니스를 찾고 싶다고 말하십시오. 늦게 다음 20 번 가까운 곳을보고 싶습니다. 예. myisam이 있습니다. 포인트에 공간 인덱스가 있습니다. 내가 보내야 할 실제 SQL 명령을 찾고 있습니다.포인트를 찾고, 친밀도를 기준으로 정렬하고, 1-20, 21-40 등을 얻는 방법. Myisam, mysql 및 공간 인덱스를 사용하여 효율적으로 처리하십시오.
것은 명확하게하려면 :
참고 :
- 내가 사용하고 MySQL의의 MyISAM 공간 인덱스입니다. 나는 서핑을하면서 이리 저리 돌아 다니며 나의 정확한 필요에 대해 아무것도 발견하지 못했다.
- 전체 테이블에 대해 거리를 계산하고 싶지 않습니다 (너무 비효율적입니다). 공간 인덱스의 요점은 적어도 많은 포인트를 효과적으로 제거 할 수 있다는 것입니다. 왼쪽에서 위로 향하는 일부 포인트가 자격을 얻지 못하면 해당 포인트의 왼쪽과 위로 모든 포인트가 자격을 얻지 못합니다.
- 나는 여전히 비효율적 인 어떤 지역의 에 대한 거리를 계산하고 싶지 않습니다. 관심 분야가 10km이고 65k 개의 사업장이 있습니다. 등
- 내가 거리로 포인트를 정렬하고 포인트 1-20, 21-40, 41-60를 표시 할 수 있기를 원하기 때문에 나는 점의 적당한 수의 거리 를 계산 괜찮다,
- 내가 발견 Postgis를 위해 그렇게하는 방법 http://blog.opengeo.org/2011/09/28/indexed-nearest-neighbour-search-in-postgis/ 나는 mysql myisam과 비슷한 것을 원한다.
- 샘플 또는 실제 샘플 SQL 명령으로 실제 SQL 코드가있는 웹 사이트를 원합니다. 그래서 "공간 사용"이라고 말하지 마십시오. 이봐. 알아. 나는 실제 SQL 명령을 원한다.
- 먼저 작은 영역을 검색하는 복잡한 루프를 수행하고 싶지 않습니다. mysql 엔진에 의해 효율적으로 수행되는 한 번의 작업으로이 작업을 수행 할 수있는 sql 명령이 있어야합니다.
- 직교 거리가 좋습니다. 고객의 대부분이 아닌 북쪽 또는 남쪽 기둥에 있지 않는 한 우리가 지구에 살고 있음을 알 필요가 없습니다.
160 만 개가 있습니다. 물론 그들 모두를위한 거리를 계산하고 그것을 정렬하는 것은 어리 석다.
그렇다면 지리적 공간 인덱스가 올바르게 작동하는 곳은 어디입니까?
그래서 어떤 SQL 명령을 보내야합니까?
내 응용 프로그램이 공간 검색을 수행하는 것이 절대적으로 중요하기 때문에 mongodb로 이동해야한다고 말하고 있습니까? –
+1. 당신은 곧 논평 할 수 있어야합니다. –
http://blog.opengeo.org/2011/09/28/indexed-nearest-neighbour-search-in-postgis/ 저는 PostGIS로 이동할 것입니다. 그것은 당신이 필요로하는 기능을 직접 지원하는 것 같습니다. 희망이 도움이됩니다. 저는 GIS에 익숙하지 않습니다. 이것은 모두 검색의 결과입니다. –