DATABASE

태태개발일지 - Join

태태코 2024. 10. 13. 16:00
반응형

Nested Loop Join

<query>

select ~~

from tab 1

         tab 2

where tab1.col1 = '10'

and tab1.key1 = tab2.key2 -> 인덱스 필 쑤

and tab2.col2 = 'Y';

 

페스트 캠퍼스 - 대용량 트래픽 처리를 위한 데이터베이스 첫걸음

 

특징 :

1. 연결고리에 인댁스가 존재하는 경우에 사용해야 한다.

2. 처리량이 적은 경우 유리하다.

3. 순차적으로 처리하며, 부분범위 처리가 가능하다.

4. 조인의 순서에 따라서 성능의 차이가 존재할 수 있어, 처리 범위를 줄일 수 있는 순서를 선택해야한다.

 

작은 테이블을 조인할 때나, 테이블에 인덱스가 있는 경우에는 효율적이야.

 

Hash join - Random Access 와 sort를 어떻게 없앨 것인가?

 

페스트 캠퍼스 - 대용량 트래픽 처리를 위한 데이터베이스 첫걸음

 

풀어지는 테이블  = 빌드 테이블

Tab2는 메핑되는 것이 있나 없나 체크하고 있는 경우에만 파티션 테이블로 가서 join을 하게된다.

 

*Table1이 Hash Area보다 작아야한다.*

 

데이터베이스에서 Nested Loop JoinHash Join 같은 연산들은 일반적으로 **데이터베이스 관리 시스템(DBMS)**이 자동으로 수행하는 작업이다.

즉, 우리가 직접 이런 연산을 명시적으로 코딩할 필요는 없다.

우리가 SQL 쿼리를 작성하면, DBMS가 그 쿼리를 최적화하고, 그 중 가장 효율적인 방법으로 데이터를 가져오는 과정에서 이 두 가지 방법 중 하나를 사용할 수 있다.

 

반응형

'DATABASE' 카테고리의 다른 글

태태개발일지 - 공유락, 베타락  (1) 2024.12.12
태태개발일지 - DB Lock  (1) 2024.10.23
태태개발일지 - DB 관계 데이터 모델링  (4) 2024.10.06
태태개발일지(sql)  (0) 2023.12.15
태태개발일지(정규화)  (1) 2023.11.27