최고의 백엔드 개발자 (예정)

  • 홈
  • 태그
  • 방명록

@batchsize 1

[N+1 삽질] 무조건 fetch join, @BatchSize가 정답은 아니다 (feat. 집계 쿼리 최적화)

필자는 현재 스마트폰 역경매 플랫폼 bidr(비더)를 개발 중이다. (5월 런칭 목표) bidr의 견적 목록 화면에는 각 견적마다 '입찰 5개·최저 8만원' 같은 정보가 표시된다. 구매자 입장에서 내 견적에 입찰이 얼마나 몰렸는지, 가장 저렴한 입찰가가 얼마인지 한눈에 볼 수 있어야 하기 때문이다. 그런데 이걸 구현하다가 전형적인 함정(?)을 밟았다. 문제 발견 — 견적 20개를 조회했는데 쿼리가 41번?처음 구현은, 견적 목록을 불러온 뒤 각 견적마다 입찰 수량 최저가를 개별로 조회하면 된다고 생각해서 아주 단순하게 구현했다. 그런데 기능 구현을 마치고 로컬에서 테스트하다가 콘솔을 무심코 봤는데 뭔가 이상했다. 견적 목록 조회 한 번에 로그가 너무 많이 찍히는 거였다..!Hibernate: selec..

Project/phonebid 2026.05.03
이전
1
다음
더보기
프로필사진

최고의 백엔드 개발자 (예정)

쉬지마 이경진

  • 분류 전체보기 (119) N
    • Containerization (11)
      • Docker (11)
    • Programming Languages (8)
      • Python (8)
    • General (5)
      • IDE (3)
      • debugging (2)
      • etc (0)
    • Algorithm (29)
      • Programmers (14)
      • LeetCode (6)
      • BaekJoon (6)
    • ORM (0)
      • JPA (0)
    • Framework (6)
      • Spring (5)
    • Architecture (2)
      • MSA (2)
    • Project (34) N
      • Newsfeed (8)
      • MSA 프로젝트 (8)
      • 대용량 트래픽 프로젝트 (9) N
      • phonebid (6)
      • ERP 프로젝트 (2)
    • Cloud (5)
      • AWS (5)
    • Computer Science (11)
    • Review (8)

Tag

REDIS, redis 분산락, Docker, 코딩테스트, JPA, BOJ, programmers, IntelliJ, resilience4j, MSA, 백준, 알고리즘, 리트코드, 프로그래머스, python, 도커, Race Condition, 파이썬, LeetCode, spring,

최근글과 인기글

  • 최근글
  • 인기글

방문자수Total

  • Today :
  • Yesterday :

최근댓글

Copyright © AXZ Corp. All rights reserved.

티스토리툴바