


// 성훈 - 내 아이템 찾기 (마이페이지)
// 물품과 보따리는 bagId, 보따리와 유저는 userId로 이어준다.
@Query("SELECT i FROM Item i INNER JOIN Bag bg ON i.bag.id=bg.id INNER JOIN User u ON bg.userId=u.id WHERE u.id=:userId")
List<Item> findAllMyItem(@Param("userId") Long userId);
서비스
List<Item> myItemList = itemRepository.findAllMyItem(userId);
100명 -> 1초당 10번 조회 (1000회)
최소 : 0.48초 / 최대 : 3.6초 / 평균 : 2.84초



레파지토리
List<Item> findAllByBagIdOrBagId(Long bagId, Long bagId1);
마이페이지 - 내 정보보기 서비스
Bag bag = bagRepository.findByUserId(userId);
Long bagId = bag.getId();
// 한 유저의 모든 아이템을 보여줌
List<Item> myItemList = itemRepository.findAllByBagIdOrBagId(bagId, bagId);
100명 -> 1초당 10번 조회 (1000회)
최소 : 0.35초 / 최대 : 3.38초 / 평균 : 2.84초
평균값이 동등해서,
@Query를 이용해서 테이블 3개를 조인했을 경우와 JPA로 2번 조회하는 것과 차기가 나지 않았음
해볼것
-> BagId를 구한다음에,
-> @Query를 통해서 BagId를 조회하기를 구현해보자.



Bag bag = bagRepository.findByUserId(userId);
Long bagId = bag.getId();
// 한 유저의 모든 아이템을 보여줌
List<Item> myItemList = itemRepository.findAllMyItem(bagId);
// 성훈 - 내 아이템 찾기 (마이페이지)
// 물품과 보따리는 bagId, 보따리와 유저는 userId로 이어준다.
@Query("SELECT i FROM Item i INNER JOIN Bag bg ON i.bag.id=bg.id WHERE bg.id =:bagId")
List<Item> findAllMyItem(@Param("bagId") Long bagId);
100명 -> 1초당 10번 조회 (1000회)
최소 : 0.27초 / 최대 : 3.41초 / 평균 : 2.74초



// 성훈 - 내 아이템 찾기 (마이페이지)
// 물품과 보따리는 bagId, 보따리와 유저는 userId로 이어준다.
@Query("SELECT i FROM Item i WHERE i.bag.userId = :userId")
List<Item> findAllMyItem(@Param("userId") Long userId);
// 한 유저의 모든 아이템을 보여줌
List<Item> myItemList = itemRepository.findAllMyItem(userId);
@Query를 통해서 한번에 조회하기
100명 -> 1초당 10번 조회 (1000회)
최소 : 0.26초 / 최대 : 3.18초 / 평균 : 2.74초
최소와 최대값이 줄긴있지만,
평균이 줄지는 않았다 -> 주어지는 조건이 잘못된 걸까?
'공부 > Jmeter' 카테고리의 다른 글
JMETER 테스트 자료 정리 (0) | 2022.06.03 |
---|---|
JMETER테스트하기 - 2 (0) | 2022.05.25 |
JMETER사용시 참고한 사이트 링크 (0) | 2022.05.23 |
JMETER를 이용한 거래내역 성능확인 (0) | 2022.05.20 |
JMeter 공부하기 - 1 (0) | 2022.05.09 |