Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

쿼리 분석 및 성능개선 #87

Merged
merged 9 commits into from
Jun 15, 2024

Conversation

This2sho
Copy link
Contributor

🤔세부 내용

  • 세션 가져오는 로직 오류 발견해서 수정
  • API별 쿼리 실행 계획 확인 및 인덱스 적용
  • 인터셉터에서 세션 가져올 때, readOnly 트랜잭션으로 가져오고 만료시간 업데이트 시 다시 조회 쿼리 발생(총 3회) -> 쿼리 2번만 발생하게 수정

1. 주차장 테이블에서 location 공간 인덱스 적용

<기존>

explain 
select *
from parking p 
where ST_Contains(ST_Buffer(ST_PointFromText('POINT(37.5665 126.9780)',4326), 500), p.location);
image

<적용후>
image

테이블 풀 스캔 -> 인덱스 레인지 스캔
14,000개의 주차장 데이터에서 50명의 유저가 목적지 반경 500m의 주차장을 10번씩 조회 시 평균 응답 시간 3853ms -> 164ms로 개선

2. 리뷰 테이블에서 (주차장 id, 회원 id) 복합 인덱스 적용

리뷰 생성시 사용

explain select r.id
from review r
where r.parking_id=13 and r.reviewer_id=1 limit 1;

<기존>
image

<적용후>
image

주차장 상세 조회시 사용

explain
select r.id,r.contents,r.created_at,r.parking_id,r.reviewer_id
from review r
where r.parking_id=153908;

<기존>
image

<적용후>
image

리뷰가 50개 존재하는 주차장을 50명의 유저가 10번씩 상세조회 했을 때 평균 응답 시간 1507ms -> 137ms로 개선

3. 조회 조건 테이블에서 회원 id 인덱스 적용

explain select sc.id,sc.fee_types,sc.hours,sc.member_id,sc.operation_types,sc.parking_types,sc.pay_types,sc.priority
from search_condition sc
where sc.member_id=2;

<기존>
image

<적용후>
image

🫵리뷰 중점사항

This2sho added 7 commits June 13, 2024 20:39
- 기존 Long으로 사용시 AuthArgumentResolver가 동작안하고 기본 argumentresolver가 동작
- 주차장 공간 인덱스 적용
- 조회 조건에서 회원 id에 인덱스 적용
- 리뷰에서 주차장 id, 리뷰 id 복합 인덱스 적용
- readOnly 트랜잭션으로 읽어오고 만료기한 update를 위해 조회 추가 쿼리 발생(총 3회)에서 2회로 개선
@This2sho This2sho added 🪓refactor 기능 수정 🎅🏼deploy 해당 PR 머지시 배포 labels Jun 15, 2024
@This2sho This2sho self-assigned this Jun 15, 2024
Copy link

Test Results

135 tests   135 ✅  14s ⏱️
 32 suites    0 💤
 32 files      0 ❌

Results for commit 7e877a0.

@This2sho This2sho merged commit 8fd8343 into main Jun 15, 2024
3 checks passed
@This2sho This2sho deleted the Refactor/쿼리_분석_및_성능개선 branch June 15, 2024 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎅🏼deploy 해당 PR 머지시 배포 🪓refactor 기능 수정
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant