Loading...
MySQL 9.5 Reference Manual 9.5의 13.4.9 Optimizing Spatial Analysis의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MyISAM 및 InnoDB 테이블의 경우, 공간 데이터를 포함하는 컬럼에서의 검색 작업은 SPATIAL 인덱스를 사용하여 최적화할 수 있습니다. 가장 일반적인 작업은 다음과 같습니다:
주어진 포인트를 포함하는 모든 오브젝트를 검색하는 포인트 쿼리
주어진 영역과 겹치는 모든 오브젝트를 검색하는 영역 쿼리
MySQL은 공간 컬럼에 대한 SPATIAL 인덱스에 quadratic splitting을 사용하는 R-Tree를 사용합니다. SPATIAL 인덱스는 도형의 minimum bounding rectangle(MBR)을 사용하여 구축됩니다. 대부분의 도형에 대해 MBR은 도형을 둘러싸는 최소 사각형입니다. 수평 또는 수직 라인스트링의 경우, MBR은 해당 라인스트링으로 축소된 사각형입니다. 포인트의 경우, MBR은 해당 포인트로 축소된 사각형입니다.
공간 컬럼에 대해 일반 인덱스를 생성하는 것도 가능합니다. non-SPATIAL 인덱스에서는 POINT 컬럼을 제외한 모든 공간 컬럼에 대해 프리픽스를 선언해야 합니다.
MyISAM과 InnoDB는 SPATIAL 인덱스와 non-SPATIAL 인덱스를 모두 지원합니다. 다른 스토리지 엔진은 Section 15.1.18, “CREATE INDEX Statement”에 설명된 대로 non-SPATIAL 인덱스를 지원합니다.
13.4.8 Fetching Spatial Data
13.4.10 Creating Spatial Indexes