PK 3

"PK 설정이 장시간 걸릴때 확인 사항" NOT NULL 과 PK CONSTRAINT ( 출처 : 불친절한 SQL 프로그래밍 P590 )

NOT NULL 과 PK CONSTRAINT ( 출처 : 불친절한 SQL 프로그래밍 P590 ) : 일반적으로 PK 대상 칼럼에 대해서 가. 1) NOT NULL 설정 -> 2) PK UNIQUE INDEX 생성 -> 3) PK CONSTRAINT 순으로 작업 함 나. 3)번 작업은 1~2초 안에 완료됨 ( NOT NULL 설정이고, INDEX 가 이미 생성 되어 있어, 데이타 중복에 대한 검증 불필요 ) 다. 3)번 작업이 오래 걸리는 경우는 PK 칼럼에 대해서 NOT NULL 설정이 없는 경우이고 , Data Migration 시, 종종 발견됨 라. 해소 방안은 PK 칼럼에 대한 NOT NULL 설정 !!! SQL> DROP TABLE T1 PURGE ; Table dropped. SQL> CREAT..

Oracle/Oh Oracle 2023.01.25

Append 와 Index( Normal, Unique, PK ) 관계

Index 와 Append 관계에 대한 문의가 있어, 예전에 정리했던 글이 있어 찾아봤다. 입맛에 맞는 내용이 없어, 예전 글을 참고해서 테스트 및 정리 > 1. PK 나 UK 가 있는 상태에선 UNDO 및 REDO 가 발생한다. 2. NORMAL INDEX 는 UNUSABLE 로 설정 후, 작업 하면 UNDO 는 1, REDO 도 최소화 가능 3. UNIQUE INDEX 를 UNUSABLE 로 하면 "ORA-26026" 에러가 발생 하고, DML 불가함 4. 결론적으로 PK, UK INDEX / CONSTRAINT DROP + Normal Index Unsuable + TABLE NOLOGING 후, APPEND 작업이 가장 효과적이다. 5. (주의) APPEND 작업 시에, 다른 세션에서 DML 불가..

Oracle/Oh Oracle 2022.12.13

[호기심] PK 칼럼인데, NULLABLE 인데 어떻게 ?

[호기심] PK 칼럼인데, NULLABLE 인데 어떻게 ? [확인결과] ENABLE NOVALIDATE 로 생성 하면 PK 지만 NULLABLE 가능 , NULLABLE 해결은 ENABLE VALIDATE 로 가능함 DROP TABLE B ; Table dropped. create table B ( B_1 varchar2(10) NOT NULL, B_2 varchar2(10), B_3 varchar2(10) ) ; Table created. ALTER TABLE B ADD CONSTRAINT XPXB PRIMARY KEY ( B_1, B_2 ) USING INDEX ENABLE NOVALIDATE ; Table altered. COL INDEX_NAME FOR A30 COL TABLE_NAME FOR A..

Oracle/Oh Oracle 2022.04.20