Development/Database(490)
-
인덱스 사용여부 판단 기준
인덱스 사용여부 판단 기준 계획성 없는 무분별한 인덱스 지정은 오히려 성능을 저하 시킬 수 있습니다. 인덱스를 사용해야 하는 경우인덱스를 사용하지 말아야 하는 경우테이블에 행의 수가 많을 때테이블에 행의 수가 적을 때WHERE 문에 해당 컬럼이 많이 사용될 때WHERE 문에 해당 컬럼이 자주 사용되지 않을 때검색 결과가 전체 데이터의 2%~4% 정도 일 때검색 결과가 전체 데이터의 10%~15% 이상 일 때JOIN에 자주 사용되는 컬럼이나 NULL을 포함하는 컬럼이 많은 경우테이블에 DML 작업이 많은 경우 즉, 입력, 수정, 삭제 등이 자주 일어날 때
-
인덱스 제거
DROP INDEX 명령어 인덱스를 삭제 DROP INDEX 형식 DROP INDEX 인덱스명;
-
인덱스 생성 - CREATE INDEX 명령어, CREATE INDEX 형식
CREATE INDEX 명령어 기본키나 유일키가 아닌 컬럼에 대해서 인덱스를 지정 CREATE INDEX 형식CREATE INDEX 다음에 인덱스 객체의 이름을 지정합니다. 어떤 테이블의 어떤 컬럼에 인덱스를 설정할 것인지를 결정하기 위해서 ON절 다음에 테이블명과 컬럼명을 기술합니다. CREATE INDEX 인덱스명 ON 테이블명(컬럼명);
-
VIEW 종류 - 단순 뷰에서 DML조작이 불가능한 경우, 복합 뷰(Complex View)
VIEW 종류 뷰는 뷰를 정의하기 위해서 사용된 기본 테이블의 수에 따라 단순뷰와 복합 뷰로 나뉘어 집니다. 단순 뷰(Simple View)복합 뷰(Complex View)하나의 테이블로 생성여러 개의 테이블로 생성그룹 함수의 사용이 불가능그룹 함수의 사용이 가능DISTINCT 사용이 불가능DISTINCT 사용이 가능DML 사용이 가능 (INSERT/UPDATE/DELETE문 사용 가능)DML 사용이 불가능 단순 뷰에서 DML조작이 불가능한 경우 뷰 정의에 포함되지 않은 컬럼중에 기본테이블의 컬럼이 NOT NULL제약조건이 지정되어 있는 경우 INSERT명령문을 사용할 수 없습니다. 왜냐하면 뷰에 대한 INSERT문은 기본테이블에 NULL값을 입력하는 형태가 되기 때문입니다. 산술표현식으로 정의된 가상 ..
-
제약 조건 변경하기
제약 조건 변경하기 제약조건은 테이블을 생성하면서 지정하거나 ALTER TABLE명령문을 이용해서 이미 존재하는 테이블에 제약조건을 추가, 삭제, 변경할 수 있습니다. ADD CONSTRAINT MODIFY CONSTRAINT DROP CONSTRAINT ALTER TABLE ~ ADD 생성된 테이블의 구조를 변경하기 위한 명령어 테이블 생성이 끝난 후에 제약 조건을 추가하기 위해서 사용 ADD CONSTRAINT 형식 ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건명] 제약조건타입(컬럼명); MODIFY 이미 존재하는 테이블에 NOT NULL 제약 조건을 추가하기 위해서는 MODIFY 명령어로 NOT NULL 제약 조건을 설정 MODIFY CONSTRAINT 형식 ALTER TABL..
-
인덱스 정보 조회 - 인덱스 자동 생성, 인덱스 객체에 대한 정보 확인
인덱스 자동 생성 인덱스는 기본키나 유일키와 같은 제약 조건을 지정하면, 따로 인덱스를 생성하지 않더라도 자동으로 생성해 줍니다. 기본키나 유일키는 데이터 무결성을 확인하기 위해서 수시로 데이터를 검색하기 때문에 빠른 조회를 목적으로 오라클에서는 내부적으로 해당 컬럼에 인덱스를 자동으로 생성하고 있습니다. 인덱스 객체에 대한 정보 확인 USER_INDEXES, USER_IND_COLUMNS 데이터 딕셔너리 뷰에서 확인할 수 있습니다. 자동으로 생성된 인덱스와 사용자가 정의한 인덱스 모두 조회할 수 있습니다.