Oracle 고유 인덱스

Oracle Goyu Indegseu



데이터베이스 성능은 데이터베이스 개발자의 필수 역할 중 하나입니다. 데이터베이스가 최적의 성능으로 실행되도록 하면 해당 데이터베이스를 읽거나 쓰는 응용 프로그램에 상당한 영향을 미칠 수 있습니다.

데이터베이스 성능을 개선하는 다양한 방법이 있지만 한 가지 기능은 모든 데이터베이스에 거의 보편적입니다. 데이터베이스 인덱스는 테이블에서 데이터 검색 속도를 향상시키는 데 사용되는 데이터 구조 또는 객체입니다.

올바르게 사용하면 데이터베이스 인덱스는 대상 데이터, 레이아웃, 사용 가능한 리소스 등에 따라 쿼리 속도를 거의 절반으로 줄일 수 있습니다.







이 자습서에서는 인덱싱된 열에서 중복 값의 가용성을 방지하기 위해 Oracle 데이터베이스의 고유 인덱스를 사용하는 방법을 배웁니다.



Oracle 고유 인덱스

고유 인덱스를 사용하여 주어진 열에 중복 행이 저장되지 않도록 할 수 있습니다. 지정된 인덱스의 열에 고유한 규칙이 포함되어 있는 경우 해당 열에서 비슷한 값을 가진 두 개의 행을 추가하려고 하면 고유한 제약 조건 위반을 나타내는 오류가 발생합니다.



Oracle에서는 다음과 같이 CREATE UNIQUE INDEX 문을 사용하여 고유 인덱스를 생성할 수 있습니다.





CREATE UNIQUE INDEX index_name ON table_name ( ) ;

인덱스에 포함된 열은 중복 행을 허용하지 않습니다.

독특한 테이블 일러스트레이션의 예

고유 인덱스를 만들고 사용하는 방법을 시연하려면 다음 표를 참조하십시오.



고르다 * 샘플_데이터에서;

산출 :

First_Name 열에 고유 인덱스 생성

다음 예제 문은 first_name 열을 사용하여 고유 인덱스를 만드는 방법을 보여줍니다.

sample_data에 대한 고유 인덱스 first_name_unique 생성 ( 이름 ) ;

이 색인을 활성화하면 이름이 같은 행을 두 개 이상 삽입할 수 없습니다.

예를 들어 다음 삽입 문을 살펴보십시오.

sample_data에 삽입 ( ID , first_name, ip_address, btc_address, credit_card, 식별자 )
( 열하나 , '왈라스' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;

주어진 insert 문을 실행하면 다음과 같은 오류가 발생합니다.

[ 23000 ] [ 1 ] ORA-00001: 고유 제약 조건 ( HR.FIRST_NAME_UNIQUE ) 위반

보시다시피 주어진 값을 삽입하면 first_name 열에 대한 고유 제약 조건을 위반합니다.

열이 두 개인 고유 인덱스 생성

둘 이상의 열로 구성된 고유 인덱스를 가질 수도 있습니다. 다음 예에서는 first_name 및 io_address 열을 사용하여 고유 인덱스를 생성합니다.

sample_data에 대한 고유 인덱스 verify_columns 생성 ( 이름, IP 주소 ) ;

마찬가지로 first_name 또는 ip_address 열에 중복 값을 추가하면 고유 인덱스 위반 오류가 발생합니다.

자동 고유 인덱스

기본 키 또는 고유 제약 조건으로 테이블 열을 선언할 때 어떤 일이 발생하는지 궁금한 적이 있습니까?

간단히 말해서 열을 테이블의 기본 키로 설정하거나 특정 열에 고유 제약 조건을 할당하면 데이터베이스 엔진이 자동으로 해당 열에 대한 고유 인덱스를 생성합니다.

이렇게 하면 해당 열에 중복 값이 ​​삽입되지 않습니다.

다음 진술을 예로 들어 보겠습니다.

테이블 sample_data 생성
(
ID 숫자,
이름 varchar2 ( 오십 ) ,
ip_address varchar2 ( 이십 ) ,
btc_address varchar2 ( 오십 ) ,
credit_card varchar2 ( 오십 ) ,
식별자 varchar2 ( 40 ) ,
제약 조건 sample_pk 기본 키 ( ID )
) ;

이전 예에서는 테이블을 만들고 id 열을 테이블의 기본 키로 설정했습니다. 그런 다음 해당 열과 연결된 고유 제약 조건(자동으로 생성됨)을 보려면 다음 명령을 실행할 수 있습니다.

선택하다 index_name, index_type, 가시성, 상태, TABLE_NAME
all_indexes에서 TABLE_NAME = '샘플_데이터' ;

결과 :
이 경우 데이터베이스 엔진에서 id 열에 대해 생성한 고유 인덱스를 볼 수 있습니다.

결론

이 가이드에서는 Oracle 데이터베이스에서 고유 인덱스를 생성하고 사용하는 방법을 배웠습니다. 또한 기본 키 또는 고유 제약 조건을 테이블 열에 할당할 때 어떤 일이 발생하는지 배웠습니다.