SMALL
오늘의 공부
오늘은 저번에 207만건의 상가 데이터가 존재하여 그 데이터를 가지고 궁금한점이 있어서 QueryDSL 를 이용해서 시간이 얼마나 걸리는지 테스트를 해보았다.
실제로 207만원 전체 쿼리문을 날리면
14.3955214 초
가 나오지만,
속도를 좀더 빠르게 하기 위해 불필요한 데이터는 조회를 안했다.
2.6230503 초
그렇게 하니 속도가 14 -> 2 초 로 바뀌게 되었다.
너무 신기하였다. 이렇게 동적쿼리로 내가 원하는 데이터들로만 뽑아 오면 좋지 않을까 생각하고 있고,
또한, 고민을 해보니 밑에 코드 처럼 가져 온다면, dto 들이 많아 질텐데 이게 맞는건가. 그런 생각을 하였지만 결국엔 나중에 매니저님께 여쭤보는 시간을 갖게 되면 그때 여쭤봐야겠다!
+ 개인적인 생각 - (아직 안해봄) Custam Dto 하나 만들어서 처리를 할까도 생각 하였다...
나중에 시도해보고 되면 게시글에 써야겠다.
@Test
void findAllQueryDsl1() {
stopWatch.start();
List<Tuple> shops = queryFactory
.select(
shop.address,
shop.name
)
.from(shop)
.fetch();
stopWatch.stop();
System.out.println("몇초 : " + stopWatch.getTotalTimeSeconds());
//몇초 : 2.6230503
}
@Test
void findAllJpa() {
stopWatch.start();
shopRepository.findAll();
stopWatch.stop();
System.out.println("몇초 : " + stopWatch.getTotalTimeSeconds());
//몇초 : 14.3955214 - Lazy 했을때
}
내일은?
내일은 이것들을 가지고 검색 기능을 구현하고 그 속도를 줄여보는 공부시간이 될것 같다. 또한, AWS 에 대해 공부하고 게시글에 올리는것을 목표를 삼고 해야겠다.
반응형
LIST
'TIL' 카테고리의 다른 글
2023.08.07 (0) | 2023.08.07 |
---|---|
2023.07.29 (0) | 2023.07.29 |
2023.07.06 (0) | 2023.07.06 |
2023.07.04 (0) | 2023.07.04 |
2023.07.03 ( STOMP 테스트 기능 ) (0) | 2023.07.03 |