TypeORM
-
TypeOrm 0.2 - Relations 성능 이슈NestJs 2023. 2. 24. 16:55
Version: 0.2 Mysql 스키마 관계 Main(데이터 1개) Sub 1(데이터 10개) Sub 2(데이터 10개) Sub 3(데이터 10개) Sub 4(데이터 10개) Sub 5(데이터 10개) 문제 find 옵션 중 relations를 사용하여 Sub 테이블을 질의하면 처음엔 괜찮다가 데이터가 조금만 쌓여도 느리다. 원인 relations를 사용하면 다른 테이블들의 정보를 조회할 때 Left Join을 사용한다. 예를 들어 5개의 서브 테이블에 데이터가 10개씩만 들어가 있어도 10 * 10 * 10 * 10 * 10 = 1만 개의 데이터가 조회된다. 해결방법 각각의 서브 테이블에 대해 select 결과 값을 Main 객체에 맵핑해준다. const main = await mainReposito..