반응형


TypeORM을 쓰다보면 데이터베이스에 데이터를 insert 해야될 때 어떤 걸 써야할지 고민을 할 때가 있다.
보통 구글에 검색하면 1차적으로 나오는게 .save() 인데
.save()는 기본적으로 select 작업을 한다.
그래서 해당 데이터가 있으면 update 작업을 하고 없으면 insert 작업을 한다.
(그러한 이유로 따로 update 작업을 할 때 .save()를 쓰면 불편할 때가 있다.)
.save() 를 쓰면 select 작업이 실행 되기 때문에 단순데이터를 저장하는데에도 많은 리소스를 사용하고 성능저하의 주 원인으로 꼽힌다.
그래서 이 부분을 제거하고 순수하게 insert 쿼리만 수행하는 기능이 바로 .insert() 이다.
그러면 불필요한 select 연산 없이 insert 쿼리를 수행할 수 있다.
따라서 insert하고 해당 데이터 값이 필요하다면 .save()를, insert 작업만 필요하다면 .insert()를 쓰면 좋을 거 같다.
공부하면서 정리한 내용이므로 틀린 부분이 있을 수 있습니다.
모든 지적 감사히 받겠습니다:)
반응형
'backend > NestJS' 카테고리의 다른 글
[NestJS] VSCode nest cli 명령어 오류 (0) | 2023.03.10 |
---|---|
[NestJS] .env를 사용해서 MySQL 연동하기 (0) | 2023.03.09 |
[NestJS]NestJS에서 Transaction(트랜잭션) 활용 (0) | 2023.01.27 |
[NestJS]캐시 및 NestJS에서의 캐시 사용 (0) | 2023.01.18 |
[NestJS] NestJS란? (0) | 2023.01.16 |