오라클 데이터베이스 문에 ENABLE 키워드를 사용하는 것이 유용한 이유입니다.
다음과 같은 문장에서 ENABLE 키워드를 사용하면 어떤 이점이나 유용성이 있는지 알고 싶습니다.
CREATE TABLE "EVALUATION" (
"EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
OR
ALTER TABLE "EVALUATION"
ADD CONSTRAINT("EVALUATION_FK")
FOREIGN KEY ("CREW_ID")
REFERENCES "CREW" ("CREW_ID") ENABLE;
제가 문서에서 읽은 내용입니다.ENABLE
기본적으로 설정되어 있습니다.
이전에 비활성화된 것을 활성화하기 위한 것이라고 가정해도 되겠습니까?
CREATE TABLE "EVALUATION" (
"EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
ENABLE/DISABLE
제약 조건이 켜지거나 꺼짐을 나타냅니다.기본적으로ENABLE
사용됩니다.
ENABLE 절 제약 조건을 테이블의 데이터에 적용하려면 ENABLE을 지정합니다.
DISABLE 절 무결성 제약 조건을 비활성화하려면 DISABLE을 지정합니다.비활성화된 무결성 제약 조건이 활성화된 제약 조건과 함께 데이터 사전에 나타납니다.제약 조건을 만들 때 이 절을 지정하지 않으면 Oracle은 자동으로 제약 조건을 사용하도록 설정합니다.
데이터 무결성을 보장하기 위해 제약 조건이 사용되지만 이를 비활성화해야 할 수도 있습니다.
제약 조건 비활성화
무결성 제약 조건에 의해 정의된 규칙을 적용하려면 제약 조건을 항상 사용하도록 설정해야 합니다.그러나 다음과 같은 성능상의 이유로 테이블의 무결성 제약 조건을 일시적으로 비활성화하는 것이 좋습니다.
표에 많은 양의 데이터를 로드하는 경우
테이블을 대폭 변경하는 배치 작업을 수행하는 경우(예: 기존 번호에 1000을 추가하여 모든 직원의 번호를 변경)
한 번에 하나의 테이블을 가져오거나 내보낼 때
세 가지 경우 모두 무결성 제약 조건을 일시적으로 해제하면 특히 데이터 웨어하우스 구성에서 작업 성능을 향상시킬 수 있습니다.
제약 조건이 비활성화된 동안 제약 조건을 위반하는 데이터를 입력할 수 있습니다.따라서 앞의 글머리 기호 목록에 나열된 작업을 완료한 후에는 항상 제약 조건을 활성화해야 합니다.
무결성 제약조건의 효율적인 사용: 절차
무결성 제약 조건 상태를 다음 순서로 사용하면 최상의 이점을 보장할 수 있습니다.
상태 사용 안 함.
작업(로드, 내보내기, 가져오기)을 수행합니다.
유효한 상태를 사용하지 않습니다.
이 순서로 제약 조건을 사용하면 다음과 같은 이점이 있습니다.
잠금 장치가 없습니다.
모든 제약 조건이 동시에 활성화 상태로 전환될 수 있습니다.
제약 조건 활성화는 병렬로 수행됩니다.
테이블에서 동시 작업이 허용됩니다.
편집:
문제는 기본적으로 설정되어 있는 명백한 키워드를 사용하는 이유입니다.
저는 이렇게 말할 것 같습니다.
- 명확성을 위해 (Python EIBTI 규칙 명시적이 암시적보다 낫다)
- 완전성을 위하여
- 개인 취향 및/또는 코딩 규약
이 범주는 다음과 같습니다.
CREATE TABLE tab(col INT NULL)
는 사하는이를 합니까?NULL
열이 기본적으로 null일 경우.
언급URL : https://stackoverflow.com/questions/33217761/whats-the-reason-usefulness-is-to-use-enable-keyword-in-oracle-database-state
'prosource' 카테고리의 다른 글
MongoDB의 현재 구성 확인 방법 (0) | 2023.07.07 |
---|---|
Enum.Parse(), 확실히 더 나은 방법이 있습니까? (0) | 2023.07.07 |
분기 git를 삭제하면 기록에서 제거됩니까? (0) | 2023.07.07 |
테이블의 외부 키 관계 쿼리 (0) | 2023.07.07 |
Python을 공유 라이브러리에 연결하기 위해 Cython 사용 (0) | 2023.07.07 |