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

[FEAT] 쿼리 개선 1차 작업 #190

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

dragontaek-lee
Copy link
Member

Related Issue 🚀

Work Description ✏️

  • 쿼리 개선 작업을 진행하였습니다.
  • 우선 문서화화 시간이 오래걸려서 API 한개 (포트폴리오 조회)만 작업하였고, 나머지는 문서화를 간소화하며 진행해보려고 합니다.
  • 해당 링크 문서를 한번 확인해주세요!

PR Point 📸

  • spring security에서 인증/인가를 마치고 유저 정보를 주입하는 부분이 있는데요, 기존에는 userId만 주입했었어서 유저 정보를 알기 위해 조회 쿼리를 서비스 로직단에서 한번 더 날렸어야 했었습니다.
  • 다만 이 유저 정보를 주입하는 과정에서 user에 대한 조회 쿼리가 진행되기 때문에 두번 중복 진행되는데요, 이러한 불필요한 쿼리를 방지하고자 AuthenticationPrincipal에 User 객체를 넣어주려고 합니다.
  • 괜찮으신지 검토 부탁드립니다. 우려된다면 우려할 수 있는 점은 User 객체가 꽤 사이즈가 크다는 것 인데요, 제 생각에는 나머지 oneToMany로 되어있는 변수들은 바로 load되지 않기 때문에 큰 문제는 없을 것이라고 생각합니다.

user 조회시 work fetchJoin 되도록 변경
work viewCount 조회수 추가시 한번의 쿼리로 모두 추가되도록 변경
work 조회시 작업물 가져오고 대표 작업물을 가져오는 두개의 쿼리가 아닌 서버 자원으로 정렬 및 정제 수행되도록 변경
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant