데이터가 1개인 A 테이블.
테이터가 454개인 B 테이블.
WHERE절로 두 테이블의 값을 불러올 때, DB에 두번 접속하는게 나은지 궁금했다.
쿼리를 두번 사용해서 각각 데이터를 가져오는 1번 케이스.
조인을 사용해 한번에 데이터를 모두 가져오고 reduce를 돌리는 2번 케이스.
1번 쿼리문을 먼저 돌리고 2번을 돌렸을 경우)
1번의 평균 속도는 400~800 ms.
2번의 평균 속도는 200~400 ms.
2번 쿼리문을 먼저 돌리고 1번을 돌렸을 경우)
2번의 평균 속도는 200~400ms.
1번의 평균 속도는 400~600ms.
B테이블은 앞으로 데이터가 더 쌓일 예정이기에 DB에 두번 들어가야했다.
조인해야 할 데이터가 2천개 미만이면 DB에 한 번만 접속하는게 훨씬 빠를 줄 알았는데,
직접 테스트 해보니 다름을 알 수 있었다.
console.time("1");
// Code
console.timeEnd("1");
'Server > DB' 카테고리의 다른 글
Prisma) QueryBuilder, RawQuery and SQL-Teamplate-String (0) | 2022.04.15 |
---|---|
MySQL) JSON_SEARCH 데이터 추출하기 (0) | 2022.04.15 |
NestJS에 Redis 설치하고 실행하기 (0) | 2022.03.25 |
Prisma multiple database connection (0) | 2022.03.17 |
Mysql) Datetime Timestamp 차이 (0) | 2022.03.16 |