컴퓨터 공부/Advanced Database

[6월 5일 2교시] 여러 종류의 DB 객체 2

려리군 2009. 6. 5. 10:28

WITH CHECK OPTION

해당 뷰에 대해서 갱신, (삽입)을 할 수 없다.

예시)

CREATE OR REPLACE VIEW emp20

as SELECT * FROM EMP

WHERE deptno = 20

WITH CHECK OPTION


update emp20

set deptno=30

where ename='ADAMS'

아담스는 30번인 사원이므로 수정할 수 없다.


show long : long형 타입을 어느 정도까지 보여줄 것인지 알려주는 환경변수

set long을 통해 설정 가능.




인덱스(INDEX)

테이블과 관련된 별도의 추가적인 구조

데이터를 얻는 수행능력을 향상

적절히 사용되면 디스크 입출력을 줄이는 주요 수단이 된다.

자동적으로 오라클에 의해 사용되고 유지된다.

논리적으로 물리적으로 데이터와 독립적이다. (예시 : 데이터를 갱신하면 인덱스를 삭제하고 추가한다.)

각 행에 대해 접근 시간을 동일하게 맞추기 위해 B*-tree 인덱스를 사용한다.

※ DML에 대한 비용이 많이 든다.


문법

CREATE INDEX 인덱스명 on 테이블명(컬럼명)

DROP INDEX : 책에서 색인표만 없애는 기능. 실행계획에만 영향을 미친다.


USER_INDEXES(parents), USER_IND_COLUMNS(childs)


인덱스의 필요성

WHERE나 조인 조건에서 자주 사용되는 컬럼

전체에서 2~4%정도 얻는 쿼리를 쓸 때 좋음.

범위가 다양한 컬럼이 좋다(cardinality가 높은 컬럼)

(예 : primary key)