🙂2024.10.18
일일 회고 28회차
Keep
일일 회고를 꾸준히 하면서 성장하기 위해 노력하는 것
Problem
명확한 원인을 파악하지 않고 문제를 해결하는 것
여러 개의 방법 중에 최선의 방법이 아닌 빠른 방법을 선택하는 것
Try
일일 회고를 통해 원인을 명확하게 파악하고 문제를 해결했는지 검토
일일 회고를 통해 최선의 방법을 선택했는지 검토
오늘 할 일
경험 및 배움
회사 업무
대량 변화 탐지시 조회 성능 측정
GIST 공간 인덱스를 생성한 후에 st_intersection을 수행해 본 결과로 인덱스 생성 전과 동일하게 2분이 소요되는 것을 확인했다. 인덱스는 검색의 효율성을 높이는 것이므로 공간 연산을 하는데 영향이 없을 것이라고 예상한 것과 동일하게 st_intersection의 성능이 향상되지 않았다.
공간 인덱스 검증을 마치고 st_snaptogrid 방식의 해결 방법 검증을 진행했다. st_snaptogrid는 파라미터로 precision 이라는 정밀도 값이 입력되는데 해당 값을 적절하게 넣어주기 위한 방법을 고민하여, 지도에서 줌 레벨별 픽셀 길이를 위도로 환산한 값을 넣는 것을 생각해냈다. 또한 높은 줌 레벨에서는 많은 결과가 존재할 수 있으므로 사용자가 보이는 부분에 대해서만 조회할 수 있도록 보이는 영역에 대해서만 st_intersects 함수를 수행하도록 쿼리를 작성했다.
기존에는 약 2분 걸리던 쿼리가 개선한 쿼리는 약 500ms로 개선된 것을 확인했다. 이 방법을 활용하여 API를 개선하는 작업을 진행할 예정이다. 이로써 조회 성능을 개선시키고 프론트에서 대량의 폴리곤을 효율적으로 보여줄 수 있을 것으로 판단된다.
앞으로 할 일
회사 업무
대량 변화 탐지시 조회 성능 측정
st_snaptogrid 방식의 해결 방법 검증
공간 인덱스 검증
대량 변화 탐지시 조회 성능 개선
사이드 프로젝트
알림 기능 테스트 구현
Last updated