<자격증>/[SQLD]

SQLD 자격검증실전문제 146번 문제

9566 2023. 3. 19. 17:10
728x90


146. 다음 중 Join 기법에 대한 설명으로 가장 적절한 것은?
1 NL Join은 선택도가 낮은(결과 행의 수가 적은) 테이블이 선행 테이블로 선택되는 것이 일반적으로 유리하다.
2 Sort Merge Join은 동등 Join(Equi Join)에서만 사용할 수 있으므로 제약이 존재한다.
3 Hash Join은 결과 행의 수가 큰 테이블을 선행 테이블로 사용하는 것이 성능에 유리하다.
4 Hash Join은 Sort Merge Join보다 항상 우수한 성능을 보장한다.

답: 1

선택도가 낮은 테이블이 선행 테이블로 선택되면 NL Join은 좀 더 효과적으로 수행될 수 있습니다. 이는 대부분의 데이터베이스 시스템에서 성능상의 이점을 가져오기 때문입니다. 그러나 이것이 항상 최상의 전략은 아닐 수 있으며 데이터의 분포와 쿼리에 따라 적절한 조인 전략을 선택해야 합니다. 다른 선택지들도 각각의 상황에 따라 더 나은 결과를 보장할 수 있습니다.

 

  1. NL Join NL Join은 Nested Loop Join의 약자로, 중첩 반복문을 이용한 Join 기법입니다. NL Join은 가장 간단하고 직관적인 Join 기법으로, 각 행을 하나씩 비교해가면서 조건을 만족하는 경우 Join을 수행합니다. 선택도가 낮은(결과 행의 수가 적은) 테이블을 선행 테이블로 선택하는 것이 일반적으로 유리합니다. NL Join은 작은 테이블과 작은 범위의 Join에 적합합니다.
  2. Sort Merge Join Sort Merge Join은 각 테이블을 미리 정렬한 다음, 정렬된 결과를 병합해 Join을 수행하는 기법입니다. 정렬 단계에서 비교 및 정렬이 이루어지므로 선행 작업으로 인해 Overhead가 발생할 수 있습니다. Sort Merge Join은 동등 Join(Equi Join)에서만 사용할 수 있으므로 제약이 존재합니다.
  3. Hash Join Hash Join은 각 테이블에서 지정된 Join 조건을 만족하는 행들을 해시 함수를 이용해 메모리에 해시 테이블을 생성한 후, Join을 수행하는 기법입니다. 결과 행의 수가 큰 테이블을 선행 테이블로 사용하는 것이 성능에 유리합니다. Hash Join은 메모리에 해시 테이블을 생성해야 하므로, 메모리가 충분하지 않은 경우에는 디스크 기반으로 동작할 수 있습니다.
  4. Merge Join vs Hash Join Sort Merge Join과 Hash Join은 각각의 장단점이 있으며, 어떤 Join 기법이 더 우수한지는 상황에 따라 달라집니다. 일반적으로 Sort Merge Join은 메모리에 데이터를 로드하고 정렬하는 과정에서 Overhead가 발생하지만, 대용량 데이터를 처리할 때 메모리 효율이 높습니다. 반면, Hash Join은 해시 테이블을 생성하는 과정에서 Overhead가 발생하지만, 메모리에 맞게 해시 테이블을 조정하면 대용량 데이터 처리에도 뛰어난 성능을 보입니다.

 

728x90

 

728x90