소개
게시글
질문&답변
다대다 관계에서 효율적인 조회 쿼리 작성
앞으로 개발하면서 크게 도움되는 지식을 배웠네요.감사합니다^^
- 1
- 4
- 1.1K
질문&답변
다대다 관계에서 효율적인 조회 쿼리 작성
항상 친절하신 답변에 이렇게 경험해볼 기회까지 주신다니 감사합니다^^ 질문 주신대로 100개의 List를 데이터를 LinkedHashMap으로 변환하는 for 루프를 1,000,000번 돌리는 테스트 코드를 작성했습니다. @Test @DisplayName("100개의 List 데이터를 LinkedHashMap으로 변환하는 시간을 측정") void ListToLinkedHashMapTest() { // given // 100개의 TagProjectOutput 데이터를 가져오기 List tagProjectOutputs = tagProjectOutputRepository.findAll(); assertThat(tagProjectOutputs.size()).isEqualTo(100); // when // 100개의 List를 LinkedHashMap으로 1,000,000번 변환하는 수행 시간 측정 StopWatch stopWatch = new StopWatch(); stopWatch.start(); for (int i = 0; i > map = new LinkedHashMap(); for (TagProjectOutput tagProjectOutput : tagProjectOutputs) { ProjectOutput projectOutput = tagProjectOutput.getProjectOutput(); if (map.containsKey(projectOutput)) { List tags = map.get(projectOutput); tags.add(tagProjectOutput.getTag()); map.replace(projectOutput, tags); } else { List tags = new ArrayList(); tags.add(tagProjectOutput.getTag()); map.put(projectOutput, tags); } } } stopWatch.stop(); // then System.out.println("수행 시간 = " + stopWatch.getTotalTimeSeconds()); System.out.println(stopWatch.prettyPrint()); } StopWatch를 이용해서 시간을 측정했고 그 결과 제 로컬 환경에서 1,000,000번의 루프를 수행하는데 2.838568246초 정도 측정되네요. 2.838568246를 1000000로 나누면 매우 적은 시간이 들 것으로 예상이 되는데..이정도 시간은 문제가 없다고 생각해도 괜찮을까요?^^ 관련 경험이 없어 판단하기가 어렵네요. 감사합니다.
- 1
- 4
- 1.1K
질문&답변
실무에서 데이터 사용 유무 필드 활용에 대한 질문
답변 감사드립니다^^
- 0
- 2
- 201
질문&답변
엔티티 조회 질문
늦은시간임에도 상세한 설명 감사합니다ㅎㅎ업무에 많은 도움이 될 것 같습니다!
- 0
- 2
- 349
질문&답변
엔티티 설계 질문
늦은 시간에 이렇게 성의있고 친절한 답변을 달아주시다니 정말 감사하고 감동입니다!항상 도메인을 설계하면서 어그리게잇 범위에 대해서 고민해왔습니다. 그리고 여러 엔티티에 어그리게잇 루트 레포지토리 하나만 있어야한다는 강박도 어느정도 있었구요ㅜㅜ주변에 물어볼 사람도 없었는데 강사님께서 설계시 요즘의 방향에 대해서 말씀해주셔서 앞으로의 설계에도 큰 도움이 될 것 같습니다. 감사합니다!
- 0
- 3
- 295