외부 정렬 알고리즘은 질의 처리의 기초 개념임.
하나의 SQL문의 내부 처리(관계대수연산 처리)할 때, 테이블의 내용을 정렬하는 연산들이 내부적으로 필요할 수 있음.
예) 검색을 하기 위해서 정렬 후 검색을 할 수 있음.
정렬이 컴퓨터에서 매우 흔한 알고리즘인데, 정렬이 주기억장치(메모리)에 있는 데이터를 정렬하는 그런 정렬알고리즘을 내부 정렬알고리즘이라고 함.
보조기억장치(파일)에 저장된 데이터를 정렬할 때 이를 외부 정렬이라고 함.
데이터베이스 테이블은 많은 양의 데이터를 가지고 있고 이는 컴퓨터의 보조기억장치에 들어가 잇으므로 데이터베이스의 데이터 정렬은 외부 정렬 알고리즘을 사용해야함.
주기억장치와 보조기억장치는 메모리 특징이 달라서 동작 방법이 다름.
따라서, 내부/외부에 사용하는 알고리즘이 각각 있음.
같은 알고리즘이라고 하더라도 내부에서 효율적이더라도 외부에서는 비효율적일 수 잇음.
아무튼 데이터베이스 정렬은 외부임.
외부 정렬은 merge sort 병합 정렬을 주로 사용함. 내부 정렬에서도 사용할 수 있지만, 외부 정렬에서는 다른 것보다 보조기억장치의 특성상 외부에서 매우 효율적임.
그냥 얘는 참고하고 지나가면 됨.