본문 바로가기

DB

[DB] View 와 Index

1) View

- 하나 이상의 테이블로부터 유도되어 만들어진 가상테이블

 

1. View의 생성

CREATE VIEW 뷰1 AS SELECT * FROM 테이블1;

2. View의 삭제

DROP VIEW 뷰1;

3. VIEW의 조회와 JOIN을 활용한 View의 생성

- 조회

SELECT * FROM 뷰1

 

- JOIN을 활용한 View 생성

 

CREATE VIEW 뷰1 AS SELECT * FROM 테이블1 a, 테이블2 b WHERE a.컬럼1 = b.컬럼2

2) Index

 

- Index는 쉽게 말하면 우리가 원하는 데이터를 찾을때 손쉽게 찾게해주는 색인이라고 생각하면됩니다.

- Index로 인해 풀 스캔을 하지 않게하여 검색 성능을 향상시킵니다.

- Index는 기본키를 생성할때 기본키로 잡힌 컬럼에대해서는 자동으로 Index가 생성이 되지만 그외 컬럼은 자동으로 생

  성이 되지 않습니다.

 

 

1. 인덱스 종류

유형 설명
순서 인덱스 데이터가 정렬된 순서로 인덱스 관리
해시 인덱스 해시함수에 의하여 직접 데이터에 키값으로 접근하는 인덱스
비트맵 인덱스 수정변경이 적은 경우에 유용
함수기반 인덱스 일반 사용자 정의 함수의 결과를 인덱스로 사용
단일 인덱스 하나의 컬럼으로만 인덱스를 지정
결합 인덱스 복수개의 컬럼을 이용하여 인덱스 지정
클러스터드 인덱스 저장된 데이터의 물리적 순서에 따라 인덱스 생성

 

2. 인덱스 생성과 삭제

- 인덱스 생성

CREATE INDEX 인덱스명 ON 테이블명(컬럼1,컬럼2...)

 

- 인덱스 삭제

 

DROP INDEX 인덱스명

3. UNIQUE 인덱스

 

- 해당 컬럼에 중복 값을 허용하지 않고 인덱스를 생성한다.

 

4. UNIQUE 인덱스 생성

CREATE UNIQUE INDEX 인덱스명 ON 테이블명(컬럼1,컬럼2...)

- UNIQUE 인덱스를 생성하게되면 해당 컬럼에 INSERT 될때 같은 값이 들어오게 되면 에러가 나게된다.

  (중복 값을 허용하지 않기 때문에)