2013-06-18 5 views
2

Oracle 데이터베이스를 사용하고 고객 레코드 용 테이블이 있고 여러 varchar2 열에 고유 키 제약 조건을 지정하려고합니다.않습니다 여러 열의 고유 제한 조건에 성능 문제가 있음 - 오라클

CUST_ID (Number)처럼

CUST_Name(varchar2), 

Cust_N.I.C_NO(varchar2)

는 고유 키를 만들 것입니다.

양식 6i를 통해 새 레코드를 삽입 할 때 ORA-00001 오류가 발생하면 사용자에게 DUPLICATED 레코드임을 알립니다.

이 테이블의 레코드가 50000 이상을 초과 할 경우 데이터베이스 성능 문제가 있는지 알려주십시오.

중복 레코드를 삽입하지 않는 것이 좋지 않은 경우 다른 방법을 제안하십시오.

안부.

+0

세 열을 나열하고 "고유 한 키를 만듭니다"라고 말합니다. 세 개의 고유 한 키를 의미합니까? 왜냐하면 그들은 하나의 복합 키에 대한 이상한 후보자가되기 때문입니다. – APC

+0

이것은 중복 된 레코드를 삽입하지 않도록하는 가장 좋은 방법입니다. –

답변

7

고유 제한 조건은 인덱스를 통해 시행됩니다. 따라서 시행 프로세스와 관련된 추가 읽기가 있습니다. 그러나 제한 조건의 성능 영향은 데이터베이스에서 중복 키를 해결하여 발생하는 성능 영향과 비교할 때 최소한입니다. 그러한 데이터 손상으로 인한 비즈니스 영향은 말할 것도 없습니다.

게다가 50000 개의 행은 장난감 크기의 테이블입니다. 진심으로, 제약 조건이 있거나없는 삽입물의 차이를 측정 할 수 없습니다.

+0

APC에 감사드립니다. 매우 감사 – user1115284