oracle

오라클에서는 제약 조건을 삭제하지 않고 비활성화하여 사용을 잠시 보류할 수 있도록 해주는 DISABLE CONSTRAINT와 이렇게 비활성화된 제약 조건을 다시 활성화 상태로 만들어 주는 ENABLE CONSTRAINT를 제공한다. DISABLE CONSTRAINT : 제약조건 일시 비활성화 ENABLE CONSTRAINT : 비활성화된 제약조건을 해제하여 다시 활성화 형식 ALTER TABLE table_name DISABLE [CONSTRAINT constraint_name]; 특별한 업무를 수행하는 과정에서 이러한 제역 조건 때문에 작업이 진행을 못하는 경우에 제약 조건을 비활성화하여 작업을 진행할 수 있다.
FK가 잡혀있을 때, 키 값이 업데이트가 되지 않는 경우가 존재한다. 학생 테이블 학생ID 학생 나이 학교 ID .. 학교 테이블 학교 ID .. 예를 들어 테이블이 이렇게 존재한다고 하자. (어디까지나 예이다...) 테이블이 존재함과 더불어 이미 데이터들이 들어있으며, 학생테이블 학교ID 와 학교테이블 학교ID는 FK 관계이며 제약조건(CONSTRAINT)까지 걸려있다. 그런데 중간에 학교 ID 채번룰이 바뀌었다. 따라서 바뀐채번룰에 맞게 기존 데이터를 변경하려고 한다. 학생 테이블에 UPDATE 문을 날렸다. UPDATE 학생테이블 SET OLD_학교ID = NEW_학교ID WHERE 학교ID = OLD_학교ID 오류가 난다. CONSTRAINT에 위배가 된다고 한다. 그렇다면 학교 테이블부터 변경해..
옵티마이저가 각각의 실행계획에 따른 비용을 산정하는데 있어서 테이블이나 뷰의 데이터를 읽어오는 방식을 접근 경로(Acces Path)라 하는데, 이러한 접근 경로에는 다음과 같은 것들이 있다. Full Table Scan일반적으로 Full Table Scan은 인덱스를 사용한 검색에 비해 비효율적인 접근 방식으로 알려져 있고 많은 경우에 있어서 비효율적이다.테이블에 데이터가 적은 경우에는 성능차이가 미미하게 느껴질 수 있지만, 수십 혹은 수백만 건의 데이터를 가진 테이블에서 100건 정도의 데이터를 검색하기 위해 테이블 전체를 검색하는 것은 비효율적일 수 밖에없다.하지만 Full Table Scan방식이 항상 좋지 않은 것은 아니다.인덱스를 사용한 방법은 일단 인덱스 정보를 먼저 검색해서 실제 데이터를 ..
깡냉쓰
'oracle' 태그의 글 목록