Series
데이터베이스 성능
쿼리와 인덱스의 실제 비용을 추적합니다.
글 5개
인덱스가 있어도 쿼리가 느린 이유
인덱스를 사용하고도 실제 테이블을 많이 다시 읽으면 느려지는 이유를 실행 계획과 함께 살펴봅니다.
MySQL과 InnoDB의 역할
실행 계획을 고르는 MySQL과 실제 데이터를 읽고 쓰는 InnoDB의 역할을 나눠 봅니다.
saveAll()은 배치 저장일까
IDENTITY 전략에서 INSERT가 묶이지 않는 이유와 대량 저장을 JDBC로 분리한 기준을 정리합니다.
느린 쿼리와 커넥션 풀
느린 조회가 커넥션을 오래 잡아 다른 API까지 30초씩 기다리게 된 과정을 추적했습니다.
조회 조건을 한곳에서 관리하기
서비스 코드와 JPQL에 흩어진 조회 조건을 QueryDSL로 모아 읽고 바꾸기 쉽게 만들었습니다.