본문 바로가기

개발중/sql

Scala Subquery 와 Left Outer Join 의 성능차이

728x90
반응형

오늘 쿼리를 짜다가

의문이 들어서 포스팅을 하려고 한다.

Scala Subquery 와 Left Outer Join 의 성능 차이가 있을까 ?? 😦


Scala Subquery 는 내가 주로 사용하는 조인 방식이다.

 

SELECT A.SEQ
       , A.NAME
       , ( SELECT B.CODE_NAME
             FROM CODEB
            WHERE A.CODE_SEQ = B.CODE_SEQ )
  FROM USER A

 

Left Outer Join 방식은 다른 사람들 코드에서 흔히 볼 수 있는 조인 방식이다.

 

SELECT A.SEQ
       , A.NAME
       , B.CODE_NAME
  FROM USER A LEFT OUTER JOIN CODE B
    ON A.CODE_SEQ = B.CODE_SEQ

 


 

오늘 쿼리를 짜다가 안 풀리는 부분이 있어서 대리님께 피드백을 부탁 드렸는데

"스칼라 쿼리 쓰는 부분 속도 고려하셔야 할꺼에요!" 

라고 하셔서 바로 찾아봤더니 속도에 차이가 있다는 것을 알게 되었다.

 

 

근데 인터넷에 있는 정보를 진리라 믿고 있었는데 ,,

케바케라는 사실을 인지시켜주셨다.

 

 


 

🔊 스칼라 서브쿼리(Scala Subquery)


함수처럼 한 레코드 당 정확히 하나의 값만을 리턴하는 서브쿼리.

기본으로 Outer Join이 적용되어 있다.

 

🔊 인라인 뷰(Inline View)


FROM절에 사용되는 서브쿼리를 지칭.

마치 뷰처럼 SQL문이 실행될 때만 임시적으로 생성되는 동적인 뷰이기 때문에

인라인 뷰(View)라는 이름이 붙었다.

그래서 일반적인 뷰를 정적 뷰(Static View), 인라인 뷰를 동적 뷰(Dynamic View)라고도 한다.

 

🔊 서브쿼리(Subquery)


하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 지칭.

위 두가지 경우 이외에 쓰이는 서브쿼리를 보통 통틀어서 일컫는다.

 


 

728x90
반응형

'개발중 > sql' 카테고리의 다른 글

MYSQL 쿼리 활용 FIND_IN_SET  (0) 2022.05.23
스칼라 서브쿼리와 인덱스 뷰 성능 차이 알아보고 개선하기 !! 🚦  (0) 2022.04.25
SQL TimeStamp 함수  (0) 2021.10.18
[MYSQL] INSERT MAX + 1  (1) 2021.10.12
insert key  (0) 2021.10.12