대량의 데이터를 조회하기 위해서는 그냥 조회하는 것이 아닌 인덱스를 추가하여 조회를 하면 더 빠르게 검색을 할 수 있다.
아래와 같이 엔티티를 생성할 때 인덱스를 걸어줄 수 있다.
@Table(indexes = {@Index(name = "IDX_USER_EMAIL", columnList = "username,email")})

그러면 아래와 같이 쿼리문이 나가는 것을 확인할 수 있다.

또한 MySQL에서 인덱스가 적용됐는지 확인할 수 있다.

explain 실행계획을 붙여서 확인해보면 위와 같이 나오게 된다.
possiblekey가 Null이고 type ALL이면 인덱스를 타지 않고 검색했다는 뜻이다.
아래는 인덱스를 탔을 경우의 예시이다 .

'자바의 봄(Spring) > 자바와 스프링 공부하기' 카테고리의 다른 글
JPA란 무엇인가 ? (0) | 2024.04.20 |
---|---|
UserDetailsService와 UserDetails에 대해 (0) | 2024.04.01 |
@Builder 패턴을 쓰는 이유 (0) | 2024.03.09 |
HttpServletRequest (0) | 2024.02.05 |
hashcode and equals에 대하여 (0) | 2024.02.04 |
댓글