인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

몽머님의 프로필 이미지
몽머

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

typeorm 커넥션 맺기

로깅된 sql 관련해서 문의드립니다.

해결된 질문

작성

·

204

0

안녕하세요 제로초님, 강의를 보고 개인 프로젝트를 진행하다 궁금한 점이 있어서 질문 남깁니다. 
현재 다음과 같은 typeorm 코드로 질의를 날리고 있습니다.

const post = await this.postsRepository.findOne({ where: { id }, relations: ['author'] });

그랬더니 다음과 같은 두 개의 쿼리가 나가는 것을 확인 할 수 있었습니다.

제 생각에는 첫 번째 select distinct ~ 쿼리는 필요 없는 쿼리인 듯 한데 혹시 의미가 있는 쿼리인지 궁금합니다!

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

https://github.com/typeorm/typeorm/issues/4998#issuecomment-574567991

여기에 이유가 나옵니다. 혹시나 모를 상태를 미연에 방지하는  것이긴 한데 단순 쿼리의 경우 비효율적일 수 있긴 합니다.

몽머님의 프로필 이미지
몽머
질문자

그렇다면 join과 paginate(limit)를 같이 사용하지 않을 때는 query builder를 사용하여 첫 번째 쿼리를 제거해도 될 것 같은데 제가 제대로 이해한 것이 맞을까요??

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 맞습니다.

몽머님의 프로필 이미지
몽머
질문자

감사합니다 :)

몽머님의 프로필 이미지
몽머

작성한 질문수

질문하기