2012-07-21 2 views
0

메신저 꽤 새로운 백엔드 웹 디자인이지만 webapp을 구축 중이며 위치 데이터베이스가 있습니다. 데이터베이스가 커짐에 따라 사람들이 데이터베이스에 액세스하여 주변의 포인트를 볼 수 있기를 원한다면 모든 요소를 ​​거치고 어떤 요소로도 거리를 확인하는 데 오랜 시간이 걸릴 것이라고 생각했습니다. 주어진 지점.포인트에서 거리를 기준으로 데이터베이스에서 요소 가져 오기

누구든지 데이터베이스를 신속하게 확인하는 방법을 알고 있지만 관련 위치 만 알고있을 수 있습니까?

나는 파이썬, django 및 SQL을 사용하여 차이가 나는지 확인합니다.

답변

0

데이터베이스의 데이터에 빠르게 액세스하는 방법은 키를 추가하는 것입니다. 그러나 "일반"키는 가능한 값, 즉 1D 도메인의 엄격한 순서에 따라 작동합니다. 지리적 위치는 2D 액세스가 필요합니다. 기본적으로 사용할 수있는 두 가지 방법이 있습니다.

  • DBMS에서 제공하는 특정 2D 기능을 사용하십시오. MySQL 용 Spatial Extensions
  • 인덱스의 경우 Z-order curve과 같이 space-filling curves을 사용하면 닫기 포인트가 인덱스 공간에서 작은 간격의 작은 수에 해당합니다.

관련 태그를 볼 수도 있습니다. 과 같은 관련 질문이나 K-Nearest neighbours과 같은 관련 질문이 있습니다. 그리고 함께 작업중인 데이터베이스 시스템에 대한 자세한 정보를 원할 수도 있습니다.

관련 문제