Cartesian Product 카티션 곱
-설명 1
카티션 곱(cartesian product)은 엄밀히 말하면 조인이라고 할 수 없는 조인으로, WHERE 절에 조인 조건을 주지 않는 것을 말합니다.
두 테이블을 기준으로 FROM 절에는 두 개의 테이블을 명시하지만 WHERE 절에서 조인 조건을 주지 않습니다. (WHERE 절을 추가하지 않거나 WHERE 절을 추가해도 조인 조건을 주지 않는 경우).
그 결과 두 테이블의 데이터를 기준으로 가능한 모든 조합의 데이터가 조회됩니다. |
Cartesian Product
-설명 2
Cartesian Product (카티시안 곱)은 발생가능한 모든 경우의 수의 행이 출력되는 것을 의미합니다.
N 개의 행을 가진 테이블과 M 개의 행을 가진 테이블의 카티시안 곱은 N*M 이 되는거죠!
이 현상은 조인 조건을 생략한 경우이거나
조인 조건이 부적합할 경우 발생합니다.
조인 조건을 생략한 경우
=>두 개의 테이블을 조인했지만, 조인 조건을 생략한 경우 Cross Join 이 발생하여 불필요한 N*M 만큼의 데이터가 조회됩니다.
데이터가 방대할 경우 CPU 과부화에 딱 좋은 상황이죠..
그러므로 JOIN 을 사용할 경우 조인 조건을 꼭! 작성해야 한다는 것!!
출처: https://data-make.tistory.com/24 [Data Makes Our Future]
728x90
반응형
'DB > SQL' 카테고리의 다른 글
[Oracle] SELECT 1 FROM 테이블명; (0) | 2021.03.18 |
---|---|
Equi Join /Non-Equi Join (0) | 2021.03.16 |
[오라클] start with connect by prior order siblings by (0) | 2021.03.16 |
[Oracle] 오라클 계층형 쿼리(START WITH.. CONNECT BY) (0) | 2021.03.16 |
오라클 ORDER BY 1 2 3 개념 및 예제 (0) | 2021.03.16 |
댓글