스프링부트 서브쿼리
2021. 2. 4. 03:06ㆍSpring Boot
반응형
기존 짜둔 쿼리들을 가지고 스프링부트에 적용시키려고 했다.
기존 짜둔 쿼리에 서브쿼리를 굉장히 많이 썼는데 서브쿼리를 지양하라는 글을 봤다
서브쿼리 대신,
1. join으로 해결할 수 없는지
2. 어플리케이션에서 처리할 수 없는지
3. 쿼리를 나눠서 실행할 수 없는지
를 고려하라고 한다.
그래서 기존 짜놨던 서브쿼리를 조인으로 바꿔보려고한다!!
ex. 매장세부조회 매장정보조회 쿼리
전)
select s.storeName, s.deliveryTime,
concat(cast(FORMAT(s.deliveryFee, 0) as char), '원') as deliveryFee,
concat(cast(FORMAT(s.minOrderCost, 0) as char), '원') as minOrderCost,
(select ROUND(avg(reviewStar),1) as avg
from Review
where storeIdx=1
group by storeIdx) as storeStar,
(select count(*) from Review as r where s.storeIdx=r.storeIdx and isDeleted='N') as reviewCount,
s.isCheetah
from Store as s
where s.storeIdx=1 and s.isDeleted='N';
후)
select s.storeName, s.deliveryTime,
concat(cast(FORMAT(s.deliveryFee, 0) as char), '원') as deliveryFee,
concat(cast(FORMAT(s.minOrderCost, 0) as char), '원') as minOrderCost,
ROUND(avg(r.reviewStar),1) as storeStar,
count(*) as reviewCount,
s.isCheetah
from Store as s
join Review as r on s.storeIdx=r.storeIdx
where s.storeIdx=1 and s.isDeleted='N'
group by s.storeIdx;
반응형
'Spring Boot' 카테고리의 다른 글
스프링부트 https 적용, http to https 리디렉션 적용 (0) | 2021.02.26 |
---|---|
@RequestMapping 과 @GetMapping 차이 (0) | 2021.02.11 |
스프링 빈 순환 참조 - The dependencies of some of the beans in the application context form a cycle (0) | 2021.02.11 |
스프링부트 ec2에 배포하기 (0) | 2021.02.01 |
스프링부트와 AWS RDS 연동 (0) | 2021.01.30 |