50 likes | 256 Views
조인의 비교. Nested Loops Join 의 Tuning Factors. ① Nested Loop 은 인덱스에 의한 랜덤 액세스에 기반하고 있기 때문에 대량의 데이터 처리 시 적합하지 않다 . ② Driving Table 로는 테이블의 데이터가 적은 마스터 테이블 이거나 , where 절 조건으로 적절하게 row 를 제어할 수 있는 것이어야 한다 . ③ D riven Table 에는 조인을 위한 적절한 인덱스가 생성되어 있어야 한다 .
E N D
Nested Loops Join 의 Tuning Factors ① Nested Loop은 인덱스에 의한 랜덤 액세스에 기반하고 있기 때문에 대량의 데이터 처리 시 적합하지 않다. ② Driving Table로는 테이블의 데이터가 적은 마스터 테이블 이거나, where절 조건으로 적절하게 row를 제어할 수 있는 것이어야 한다. ③ Driven Table에는 조인을 위한 적절한 인덱스가 생성되어 있어야 한다. ④ 연결고리가 되는 컬럼은 사원번호, 주문번호와 같이Unique한 속성을 가진 컬럼 인덱스를 이용하거나 분포도가 좋은 컬럼에 대한 인덱스를 이용할수록 수행 속도는 좋아진다
Sort Merge Join 의 Tuning Factors ① Sort Merge 조인(SMJ)은 조인 결합 조건으로 사용되는 연결고리 컬럼에 인덱스가 생성되어 있지 않은 경우에 빠른 조인을 위하여 사용된다. ② 조인 하고자 하는 각 테이블에 대해서 독립적으로 데이터를 읽어 들일 때, 이를 얼마나 빠르게 할 것 인가가 중요하다. ③ 각 테이블로 부터 읽혀진 데이터를 연결고리가 되는 컬럼에 대하여 정렬을 수행할 때 이를 얼마나 빠르게 할 것인가가 중요하다. ④ Parallel Processing을 함께 활용 함으로 테이블에 대한 Full scan의 속도를 향상시키는 것도 가능하다.
Hash Join 의 Tuning Factors ①주로 방대한 처리 결과가 요구되는 OLTP 시스템이나 데이터웨어하우스에서 사용한다. ②많은 하드웨어의 CPU와 메모리 자원이 필요하다. ③ CBO 모드에서 옵티마이저가 판단해서 적용할 수 있으며,테이블의 통계 정보가 있어야 한다. ④ 데이터베이스 또는 현재 세션에 옵티마이저 모드가 RULE이외의 값으로 설정되어야 한다. ⑤물론 Rule base인 경우에도 힌트를 사용하면 Hash 조인을 사용할 수 있음 (/*+ ORDERED USE_HASH(tab1 tab2) */) ⑥Hash 조인은 Equi Join 에서만 가능하다. ⑦ Driving Table의 row 를 조인하기 위한 인덱스를 꼭 필요로 하지는 않는다.