[14일차]효율적인 SQL 코드 작성하기 - 테이블을 집합으로 생각하기.

김준석·2023년 12월 26일
post-thumbnail

테이블은 RDBMS이기 때문에 일반적으로 집합의 형태를 띈다.

아래의 사진은 JOIN을 벤다이어 그램 형태로 반환한 것이다.

테이블간의 관계도 사진과 같은 집합으로 생각하면 쿼리문을 짤때 이해하기 쉬울 것 이다.


테이블을 집합의 형태로 보고 효율적으로 SQL 코드를 작성해보자.


1. 최대한 작게 만들어 놓고 JOIN 하자.

“작게 만들어 놓는다”의 의미는

선 필터링 후 추출을 의미한다.

먼저 필터링을 하여 가져오면 그만큼의 리소스를 줄일 수 있기 때문!

아래 코드를 살펴보자.

선 필터링 후 추출예시)👍

테이블 customer, order_info에서 중복컬럼 customer_id의 정보를 가져와보자!

코드에서는 WITH 구문으로 블록 customer ,order_info를 생성해 주었다.

생성에서 끝난것이 아닌

customer 블록은 customer_id가 1인 것들만 나올 수 있게,

order_info 블도 customer_id가 1인 것들만 나올 수 있게 필터링을 걸어 리소스를 최소한으로 가져갔다.


필터링 없이 추출의 예시)👎

위와 같이 WITH구문으로 임시집합 customer ,order_info을 생성했지만

각 각 테이블의 전체데이터를 끌고온 뒤,

마지막 WHERE절에서 필터링을 했기 때문에 리소스를 많이 사용하게 됨.

0개의 댓글