Kua
Kua's Miscellaneous
Kua
  • 분류 전체보기 (156)
    • 대문 (2)
    • Tips (22)
      • Chrome (2)
      • Windows (2)
      • IDE (3)
      • 기타 (15)
    • CodingTest (44)
    • Language (17)
      • PHP (5)
      • C# (7)
      • Java (1)
      • Kotlin (4)
    • Framework & Runtime (12)
      • SpringBoot (8)
      • Node.js (2)
      • Vue.js (1)
      • Gradle (1)
    • DevOps (11)
      • Docker (4)
      • Kubernetes (2)
      • Apache Kafka (1)
      • AWS (0)
    • 일상다반사 (37)
      • 도서 (1)
      • 개발 (7)
      • 후기 (9)
      • 방송통신대학교 (4)
      • 음식 (2)
    • Games (11)
      • Minecraft (7)
      • VR (2)
      • 그외 (2)

다른 링크

  • Github

최근 글

  • 서울역 유명 맛집 유즈라멘 후기
    2022.05.08
    서울역 유명 맛집 유즈라멘 후기
  • 세로 모니터에 스포티파이를 놓⋯
    2022.05.03
    세로 모니터에 스포티파이를 놓⋯
  • 남양주 별내동 브런치카페 프라⋯
    2022.05.01
    남양주 별내동 브런치카페 프라⋯
  • Ubuntu 20 MariaDB Conf Path
    2022.04.25
  • 파일시스템(파일탐색기) 사이드⋯
    2022.04.25
    파일시스템(파일탐색기) 사이드⋯

인기 글

  • 쿠버네티스 전문가 양성 과정 2⋯
    2021.10.30
  • 쿠버네티스 전문가 양성 과정 2⋯
    2021.12.19
  • 쿠버네티스 전문가 양성 과정 2⋯
    2021.12.28
  • Twitch Now 는 이제 작동하지⋯
    2022.03.02
    Twitch Now 는 이제 작동하지⋯
  • [Kotlin] Unexpected error occ⋯
    2021.12.24
    [Kotlin] Unexpected error occ⋯
반응형

최근 댓글

  • 안녕하세요 메일로 답변을⋯
    Kua
  • 안녕하세요, 메일로 답장 드렸⋯
    Kua
  • 세대가 더 중요하긴 하지만, cp⋯
    Kua
  • 안녕하세요 먼저 후기글 감사합⋯
    bbbb56146
  • 안녕하세요 네, 저도 재직 중입⋯
    Kua

태그

  • minecraft
  • Algorithm
  • function
  • error
  • Plugin
  • 알고리즘
  • 백준
  • codingtest
  • 마인크래프트
  • spring
  • c#
  • Level1
  • bronze2
  • java
  • 코딩테스트
  • Silver5
  • Kotlin
  • 플러그인
  • bronze1
  • github
전체 방문자
21,753
오늘
111
어제
54
hELLO · Designed By 정상우.
Kua

Kua's Miscellaneous

Framework & Runtime/SpringBoot

[Querydsl] 하나의 응답을 원할 때, exist 사용을 자제하자.

2021. 4. 26. 03:10

우선, 제가 아는 지식내에서는 exist 메소드를 사용함으로 얻는 이점이 없으므로 작성한 내용입니다.

 

1
2
3
4
5
6
7
8
public Boolean memberExists(Long memberId) {
    Integer findMember = queryFactory
            .selectOne()
            .from(member)
            .where(member.memberId.eq(memberId))
            .fetchFirst();
    return findMember != null;
}
Colored by Color Scripter
cs

위처럼 fetchFirst() 를 이용하자. limit(1) 과 동일한 개념이며 사용시 원하는 결과를 찾을경우 쿼리가 종료되기 때문에 성능에 도움이 된다.

 

exist()를 사용할경우 select에 count(1) 의 결과를 받아 > 0 조건을 통해 조건을 반환한다.

그렇게 되면 원하는 결과를 찾아도 DB는 계속 검색을 진행하게 되므로 성능에 문제가 있을 수 있다.

 

그리고 selectOne 에서는 검색 결과가 없을경우 null 이 반환되므로 return 문에서 null 을 검사하여야한다.

반응형
저작자표시비영리
    'Framework & Runtime/SpringBoot' 카테고리의 다른 글
    • RestTemplate 와 ObjectMapper 활용기(스프링에서 다른 서버의 JSON API Token 을 가져와서 이용해야 할 때)
    • Kotlin Spring Boot 에 Querydsl 종속성이 추가된 프로젝트 소스 공유
    • Spring Boot REST API Spring Security 고유키 만들어서 접근 제한하기(api key and secret)
    • [Querydsl] 동적 쿼리를 BooleanExpression 으로 작성하기
    exist, limit, QueryDSL, spring
    Kua
    Kua
    정보 공유, 개인 정리 공간 입니다.
    댓글쓰기
    다음 글
    Spring Boot REST API Spring Security 고유키 만들어서 접근 제한하기(api key and secret)
    이전 글
    [Querydsl] 동적 쿼리를 BooleanExpression 으로 작성하기
    • 이전
    • 1
    • ···
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 다음

    티스토리툴바