서브쿼리의 장단점

J._NA 개발일지·2024년 10월 6일
0
  1. 서브쿼리의 특징
    1.1 서브쿼리의 단점
    결국 서브쿼리의 문제는 서브쿼리가 실체적인 데이터를 저장하고 있지 않다는 점에서 기인합니다.
    위에서 언급한 서브쿼리의 단점 세 가지에 대해서 조금 더 자세히 살펴보겠습니다.

1) 연산비용추가
서브쿼리는 뷰와 마찬가지로 서브쿼리는 가상의 테이블을 만드는 것
그렇기 때문에 서브쿼리에 접근할 때마다 SELECT 구문에 접근하여 데이터를 만들게 되고,
이로 인해 연산 비용이 늘어나게 됩니다.
서브쿼리가 간단할 경우엔 무리가 없지만 서브쿼리 안의 내용이 복잡해질수록 비용은 더욱 늘어납니다.

2) 최적화를 받을 수 없다.
서브쿼리와 테이블이 가지는 큰 차이점은 서브쿼리엔 메타 정보가 담겨있지 않다는 점
명시적인 제약이나 인덱스가 작성되어있지 않다는 것
그렇기 때문에 옵티마이저가 쿼리에 접근하고 해석할 때 필요한정보를 얻을 수 없게 됩니다.
이는 내부적으로 복잡한 연산을 수행하거나 결과 크기가 큰 서브쿼리를 사용할 때 성능의 문제가 발생시키는 원인이 됩니다.

3) 쿼리가 복잡해진다.
서브쿼리의 생김새를 다시 한번 살펴보겠습니다.

profile
아밥 & 프론트엔드 개발자

0개의 댓글