| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 서버
- jpa
- JavaScript
- 프런트엔드
- SQL
- 코드 테스트
- java
- jsp
- web
- 자바
- 쿼리
- Next.js
- 코드테스트
- MySQL
- 알고리즘
- 스프링
- 자바스크립트
- 스프링부트
- 오라클
- 디자인 패턴
- oracle
- 정리
- BACK-END
- 프론트엔드
- 데이터베이스
- 백엔드
- node.js
- 미니정리
- spring
- 프로그래머스
- Today
- Total
목록2026/02 (11)
참치코더의 꿈 메모장
JPA를 쓰다 보면 성능이 갑자기 느려지는 구간이 있다.그 대표적인 원인이 바로 N+1 문제다. N+1 문제란? - 연관된 데이터를 조회할 때 쿼리가 불필요하게 많이 실행되는 현상 게시글과 댓글이 있을때 Post (1) : (N) Comment 게시글 10개를 조회했을 때 실행되는 쿼리 1번: 게시글 10개 조회10번: 각 게시글의 댓글 조회 -> 각각의 게시글에 작성되어 있는 댓글을 일일이 JPA Hibernate가 퍼오게 된다. 이게 바로 N(게시글 수) + 1 = N+1 문제이다. 왜 발생할까? - JPA의 지연 로딩(FetchType.LAZY) 때문이다. 123456789101112@ManyToOne(fetch = FetchType.LAZY)@OneToMany(mappedBy="post", f..
1234567891011121314SELECT CAR_ID, CASE WHEN MAX( CASE WHEN START_DATE = DATE '2022-10-16' AND END_DATE >= DATE '2022-10-16' THEN 1 ELSE 0 END ) = 1 THEN '대여중' ELSE '대여 가능' END AS AVAILABILITYFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYGROUP BY CAR_IDORDER BY CAR_ID DESC;cs - CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 ..
12345678-- 코드를 입력하세요SELECT DISTINCT CC.CAR_ID AS CAR_IDFROM CAR_RENTAL_COMPANY_CAR CCJOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY RH ON CC.CAR_ID = RH.CAR_IDWHERE CC.CAR_TYPE = '세단' AND EXTRACT(MONTH FROM RH.START_DATE) = 10ORDER BY CAR_ID DESC;cs - CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성하는 문제이다. 이때 자..