Teradata-보조 인덱스

테이블에는 하나의 기본 인덱스 만 포함될 수 있습니다. 더 자주, 테이블에 다른 열이 포함되어 데이터에 자주 액세스하는 시나리오가 있습니다. Teradata는 이러한 쿼리에 대해 전체 테이블 스캔을 수행합니다. 보조 색인은이 문제를 해결합니다.

보조 인덱스는 데이터에 액세스하기위한 대체 경로입니다. 기본 인덱스와 보조 인덱스 간에는 약간의 차이가 있습니다.

  • 보조 인덱스는 데이터 배포와 관련이 없습니다.

  • 보조 인덱스 값은 하위 테이블에 저장됩니다. 이 테이블은 모든 AMP에 빌드됩니다.

  • 보조 인덱스는 선택 사항입니다.

  • 테이블 생성 중 또는 테이블 생성 후에 생성 할 수 있습니다.

  • 하위 테이블을 빌드하기 때문에 추가 공간을 차지하고 각 새 행에 대해 하위 테이블을 업데이트해야하므로 유지 관리도 필요합니다.

보조 인덱스에는 두 가지 유형이 있습니다.

  • 고유 한 보조 인덱스 (USI)
  • 비 고유 이차 색인 ​​(NUSI)

고유 한 보조 인덱스 (USI)

Unique Secondary Index는 USI로 정의 된 열에 대해 고유 한 값만 허용합니다. USI로 행에 액세스하는 것은 2 암페어 작업입니다.

고유 한 보조 인덱스 생성

다음 예에서는 직원 테이블의 EmployeeNo 열에 USI를 만듭니다.

CREATE UNIQUE INDEX(EmployeeNo) on employee;

비 고유 보조 인덱스 (NUSI)

고유하지 않은 보조 인덱스는 NUSI로 정의 된 열에 대해 중복 값을 허용합니다. NUSI로 행에 액세스하는 것은 모든 앰프 작업입니다.

고유하지 않은 보조 인덱스 생성

다음 예제는 employee 테이블의 FirstName 열에 NUSI를 생성합니다.

CREATE INDEX(FirstName) on Employee;