[t:/]$ 지식_

쿼리루프

2024/03/28

대량의 리스트를 쿼리로 가져와서 뚝딱뚝딱 후처리를 하는 작업에 있어서, 본디 1쿼리로 다 들고 온 후 처리를 해야 할 작업이 있다고 가정하자. 메모리는 감당할 수 있는 상황이다.

이를 JPA로 처리하고 이미 추상화 된 고등영역에서 코딩을 한다고 가정하자. 이 개발자는 그냥 코딩적으로 해석하여 루프를 돌면서 뚝딱뚝딱 한다. 그러면 이 작업은 n개의 쿼리로 분할되어 처리될까?

코드의 루프로 처리하다보니 대량 쿼리가 발생하여 지연이 발생하는 실수는 어릴 때 가끔 봤다. 루프의 턴 마다 한 땀 한 땀 쿼리 후 가공해서 결과물을 만드는 방식은 가장 나쁘다.

실제로 지연을 일으키는 케이스가 있는지 궁금하다. JPA 자바 몰라서..

...라고 쓰고 이 문장을 그대로 chat-gpt에게 물어보니 페치 조인이라는 방식이 있다고 한다.

세상 좋당...









[t:/] is not "technology - root". dawnsea, rss