Skip to content

[REFACTOR/144] 랭킹 조회시 강화 시도 기록 없는 경우 추가 쿼리 발생하는 문제 해결#145

Merged
persi0815 merged 3 commits intodevelopfrom
refactor/144
Jan 22, 2025
Merged

[REFACTOR/144] 랭킹 조회시 강화 시도 기록 없는 경우 추가 쿼리 발생하는 문제 해결#145
persi0815 merged 3 commits intodevelopfrom
refactor/144

Conversation

@persi0815
Copy link
Contributor

@persi0815 persi0815 commented Jan 15, 2025

PR 타입

  • 리펙토링

구현한 기능

  • optional로 enhanceItem 조회해서 없다면 enhance item 엔티티를 새로 만들지 않고, 랭킹을 -1로 설정했습니다.
  • 강화시도 전적이 없어 랭킹이 -1인 경우 행킹이 "-"로 표시되도록 변경했습니다.
  • query 출력 위한 hibernate 설정했습니다.
    image

기타

  • 강화 전적이 없는 상품에 대한 랭킹 조회시 발생할 수 있는 추가 쿼리는 없앴지만, 여전히 랭킹 반환시 실행되는 쿼리 수가 많습니다. N+1 문제가 발생하고 있는 것 같습니다. 추가 리팩토링할 에정입니다.

테스트 결과

추가 쿼리 발생했던 이전 버전

강화 시도 하지 않은 상품에 대해 랭킹 조회시 랭킹 계산하여 lv1 설정과 함께 enhance item에 insert가 됩니다.
image
아래 현재 버전 쿼리와 비교하면 알 수 있듯이 추가로 2개의 쿼리가 생성됩니다.

image
시도 횟수 0이고, lv이 1이며, 가장 낮은 랭킹을 가지고 enhance item에 Insert가 되었었습니다.

추가 쿼리 삭제한 현재 버전

image

image
강화 시도한 상품의 경우에만 enhance item에 Insert가 됩니다.

일정

  • 추정 시간 : 1 day
  • 걸린 시간 : 1 day

@persi0815 persi0815 changed the title [REFACTOR/144] [REFACTOR/144] 랭킹 조회시 강화 시도 기록 없는 경우 추가 쿼리 발생하는 문제 해결 Jan 15, 2025
@persi0815 persi0815 requested a review from ParkSangsin January 15, 2025 17:15
@persi0815 persi0815 self-assigned this Jan 15, 2025
Copy link
Contributor

@ParkSangsin ParkSangsin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오홍..! 너무 좋습니다~

@persi0815 persi0815 merged commit f18e164 into develop Jan 22, 2025
@persi0815 persi0815 deleted the refactor/144 branch May 2, 2025 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REFACTOR] 랭킹 조회시 강화 시도 기록 없는 경우 추가 쿼리 발생하는 문제 해결

2 participants