결합 알고리즘과 성능
·
Computer Science/데이터베이스
결합 알고리즘옵티마이저가 선택 가능한 결합 알고리즘은 크게 3가지가 존재한다. 어떤 알고리즘을 선택할 지 여부는 데이터 크기 또는 결합 키의 분산이라는 요인에 의존하는데, 그 중 가장 빈번하게 볼 수 있는 알고리즘은 Nested Loops로 결합 알고리즘의 기본이 되는 알고리즘이다. MySQL의 옵티마이저도 기본적으로 Nested Loop Join을 사용하여 테이블을 조인한다고 한다.Nested LoopsNested Loops는 이름 그대로 중첩 반복을 사용하는 알고리즘이다. 결합 대상 테이블(Table A)에서 레코드를 하나씩 반복하며 스캔한다. 이런 테이블을 드라이빙 테이블(Driving Table) 또는 외부 테이블(Outer Table)이라고 한다. 다른 테이블(Table B)는 드리븐 테이블(D..