인덱스
가. 트리기반 인덱스
B-트리 인덱스는 '='로 검색하는 일치(EXACT MATCH) 검색과 'BETWEEN','>'등과 같은 연산자로 검색하는 범위에 모두 적합한 구조이다.
1단계, 브랜치 블록의 가장 왼쪽 값이 찾고자 하는 값보다 작거나 같으면 왼쪽 포인터로 이동
2단계, 찾고자 하는 값이 브랜치 블록의 값 사이에 존재하면 가운데 포인터로 이동
3단계, 오른쪽에 있는 값보다 크면 오르쪽 포인터로 이동
인덱스를 생성할 때 동일 컬럼으로 구성된 인덱스를 중복해서 생성 할 수 없다. 그렇지만 인덱스 구성 컬럼은 동일하지만 컬럼 순서가 다르면 서 다른 인덱스로 생성할 수 있다. 예를 들어 , JOB+SAL 컬럼 순서의 인덱스와 SAL+JOB 컬럼 순서의 인덱를 별도의 인덱스를 생성할 수 있다. 인덱스의 칼럼 순서는 질의의 성능에 중요한 영향을 미치는 요소이다.
1) 인덱스 유일 스캔은 유일 인덱스를(UNIQUE INDEX)를 사용하여 단 하나의 데이터를 추출하는 방식이다. 유일 인덱스는 중복을 허락하지 않는 인덱스이다. 유일 인덱스 구성 컬럼에 모두 '='로 값이 주어지면 결과는 최대 한 1건이 된다. 인덱스 유일 스캔은 유일 인덱스 구성 컬럼에 대해 모두 '='로 값이 주어진 경우에만 가능한 가능한 스캔 방식이다.
2)인덱싀 범위 스캔은 인덱스를 이용하여 한 건 이상의 데이터를 추출하는 방식이다. 유일 인덱스의 구성 컬럼 모드에 대해 '='으로 주어지지 않은 경우와 비유일(NON-UNIQUE) 인덱스를 이용하는 모든 엑세스 방식은 범위 스캔 방식으로 데이터를 엑세스하는 것이다.
3)인덱스 역순 범위 스캔은 리프블록의 양방향 링크를 이용하여 내림 차순으로 데이터를 읽는 방식이다. 이방식을 이용하여 최대값을 쉽게 찾을 수 있다.