728x90
ST_DISTANCE_SPHERE 함수란?
MySQL에서 제공하는 지리 함수 중 하나로, 두 지점 사이의 거리를 구하는 데 사용한다.구의 표면을 이용하여 두 지점 사이의 최단 거리를 계산하고 이를 미터로 환산해준다.
ST_DISTANCE_SPHERE 함수의 사용법
ST_DISTANCE_SPHERE(point(lon1, lat1), point(lon2, lat2))
위 구문에서 lon1, lat1, lon2, lat2는 경도와 위도 값을 나타내다. 이 함수는 두 지점 사이의 거리를 미터 단위로 반환한다.
약간 헷갈리는게 우리가 위도/경도가 순서가 익숙한데 여기서는 경도, 위도 순이라는 점이다.
나중에 데이터값이 1000개 10000개 점점 늘어날 수록 성능이 급격하게 떨어질 수 있을 것 같다.
추후에 공간인덱스를 설정하여 나중에 성능을 최적화해보자
성능 최적화하기
공간 인덱스 (Spatial index)
point, line, polygon 데이터와 같은 DB에서 공간 쿼리 작업 성능을 향상시키는 데 사용되는 인덱스입니다
공간 인덱스를 사용해서 점의 특정 거리 내에 있는 객체를 찾는 작업 속도를 높일 수 있습니다
공간 인덱스는 셀이라고 하는 더 작고 관리하기 쉬운 청크로 분할해서 작동합니다
각 셀에는 객체 집합이 들어있으며 셀은 MySQL에서 공간 인덱스는 R-Tree 라는 자료구조를 사용하고 2차원 공간의 데이터를 인덱싱하는 데 사용됩니다
(R-Tree는 공간 쿼리에 최적화된 트리 기반 자료구조 입니다)
728x90
'기타' 카테고리의 다른 글
2023년, 그리고 지금의 2024년 회고록 (0) | 2024.05.20 |
---|---|
점차 쌓이는 로그들 어떻게 처리해야할까 ? (0) | 2024.04.29 |
server sent event (sse) 사용시 connection pool 부족 문제 (1) | 2023.10.08 |
JaCoCo 적용하여 테스트 커버리지 체크하기 (0) | 2023.07.22 |
반년동안의 회고 (0) | 2023.07.03 |