풀스택 DB 연결 ORM N+1 해결 결
풀스택 솔루션에서 데이터베이스와 웹 애플리케이션 간 상호작용을 설계할 때 가장 먼저 고려하는 것은 쿼리 효율입니다. ORM을 쓰면 편리하지만 N+1 문제를 모르고 지나치면 요청 하나에 수백 개의 쿼리가 발생하는 상황이 생깁니다. 팀 프로젝트에서 게시글 목록을 불러올 때 작성자 정보가 N번 별도 조회되는 것을 발견하고, eager loading 설정으로 수정해 쿼리 수를 1건으로 줄였습니다.
트랜잭션 범위도 중요한 설계 결정인데, 너무 넓은 트랜잭션은 DB 락을 오래 잡아 동시성 문제를 일으킬 수 있습니다. 인덱스 설계도 빠뜨릴 수 없는데, 자주 조회하는 컬럼에 인덱스를 추가하자 조회 응답 시간이 눈에 띄게 줄었습니다. DB와 앱의 상호작용은 편의 도구를 쓰더라도 실제로 발생하는 쿼리를 확인하는 것이 결임을 배웠습니다.