작성
·
5.2K
1
from(Entity)
// 1:N 관계의 List<Object> 를 추출, key : Entity.Id
.transform(
groupBy(Entity.Id)
.list(
Projections.fields(Example.class,
Entity.Id,
list(
Projections.fields(Detail.class,
Detail.id
Detail.name
)
).as("DetailList")
)
)
)
답변 1
4
안녕하세요. 코딩의신님
Q1 - 이와 마찬가지로 transform , Groupby.list를 이용하는 것 역시 문제가 발생할까봐 우려스럽네요.
-> 이 부분은 실제 실행되는 쿼리를 눈으로 확인해보시는 과정이 필요합니다. 그래서 어느 부분까지 쿼리가 실행되는지 확인하셔야 합니다.
Q2 - 메모리에서 작업을 진행해도 됩니다. 그런데 메모리에서 진행할 때는 DB -> 애플리케이션으로 데이터를 퍼올려야 하기 때문에 메모리 사용량이 매우 증가할 수 있습니다. 그래서 최대한 DB에서 조회 가능 데이터를 줄여서 조회하는 것이 성능상 바람직한 방향입니다. 실시간 애플리케이션에서 메모리에 수십건 정도를 처리하는 것은 크게 문제가 없지만, 수백, 수천건을 처리한다면 성능상 문제가 발생할 수 있습니다.
감사합니다.