클러스터와 비 클러스터 인덱스의 차이

Anonim

클러스터 대 비 클러스터 인덱스

모든 데이터베이스에서 인덱스가 매우 중요합니다. 테이블에서 데이터를 검색하는 성능을 향상시키는 데 사용됩니다. 이들은 논리적으로 그리고 물리적으로 관련 테이블의 데이터와 독립적입니다. 따라서 인덱스는 기본 테이블의 데이터에 영향을주지 않고 삭제, 재 작성 및 재 작성 될 수 있습니다. Oracle 서버는 관련 테이블을 삽입, 업데이트 및 삭제할 때 DBA의 개입없이 인덱스를 자동으로 유지 관리 할 수 ​​있습니다. 인덱스 유형은 여러 가지가 있습니다. 여기, 그들 중 일부입니다.

1. B- 트리 색인

2. 비트 맵 인덱스

3. 함수 기반 인덱스

4. 역 키 인덱스

5. B- 트리 클러스터 인덱스

비 클러스터 인덱스 란?

위의 인덱스 유형에서 다음은 비 클러스터형 인덱스입니다.

• B- 트리 색인

• 비트 맵 색인

• 기능 기반 색인

- 역방향 키 인덱스 B- 트리 인덱스는 데이터베이스에서 가장 널리 사용되는 인덱스 유형입니다. CREATE INDEX 명령이 유형을 지정하지 않고 데이터베이스에서 실행되면 Oracle 서버는 b- 트리 색인을 작성합니다. 특정 열에 b-tree 인덱스가 생성되면 oracle 서버는 열 값을 저장하고 테이블의 실제 행에 대한 참조를 유지합니다.

비트 맵 인덱스는 열 데이터가별로 선택 적이 지 않을 때 만들어집니다. 즉, 열 데이터의 카디널리티가 낮습니다. 이들은 특별히 데이터웨어 하우스 용으로 고안된 것으로 고도로 업데이트가 가능한 테이블이나 트랜잭션 테이블에서 비트 맵 인덱스를 사용하는 것은 좋지 않습니다.

기능 색인은 Oracle 8i에서 제공됩니다. 여기에서 함수는 인덱스 된 열에서 사용됩니다. 따라서 기능적 색인에서 열 데이터는 정상적인 방법으로 정렬되지 않습니다. 함수를 적용한 후 열의 값을 정렬합니다. 이는 select 쿼리의 WHERE 절이 함수로 사용될 때 매우 유용합니다.

역방향 키 인덱스는 매우 흥미로운 인덱스 유형입니다. 열에 'cityA', 'cityB', 'cityC'… 등의 고유 한 문자열 데이터가 많이 포함되어 있다고 가정합시다. 모든 값에는 패턴이 있습니다. 처음 네 문자는 동일하고 다음 부분이 변경됩니다. REVERSE 키 인덱스가이 열에 생성되면 Oracle은 문자열을 역순으로 변환하여 b-tree 인덱스로 복원합니다.

위에서 언급 한 인덱스 유형은 NON-CLUSTERED 인덱스입니다. 즉, 인덱스 된 데이터는 테이블 외부에 저장되고 테이블에 대한 정렬 된 참조가 유지됩니다.

클러스터 된 인덱스 란 무엇입니까?

클러스터형 인덱스는 특별한 유형의 인덱스입니다. 물리적으로 테이블 데이터를 저장하는 방식에 따라 데이터를 저장합니다. 따라서 한 테이블에 대해 클러스터 된 인덱스가 많이있을 수 없습니다. 하나의 테이블은 하나의 클러스터 된 인덱스 만 가질 수 있습니다.

클러스터 된 인덱스와 비 클러스터 인덱스의 차이점은 무엇입니까?1. 테이블에는 클러스터형 인덱스가 하나만있을 수 있지만 한 테이블에는 최대 249 개의 클러스터되지 않은 인덱스가있을 수 있습니다.

2. 기본 키를 만들면 클러스터 된 인덱스가 자동으로 만들어 지지만 고유 키가 만들어지면 클러스터되지 않은 인덱스가 만들어집니다. 3. 클러스터 된 인덱스의 논리적 순서는 테이블 데이터의 실제 순서와 일치하지만 클러스터되지 않은 인덱스에서는 그렇지 않습니다.