본문 바로가기
학부 전공/DB

SQL - Index & View Definition

by 장어진 2021. 6. 19.

Indexes

Syntax : CREATE INDEX YearIndex ON Movie(studioName, year);    (생성)

Syntax : DROP INDEX YearIndex;      (삭제)

 

index의 장점은 쿼리 스피드를 빠르게 해준다는 것입니다. 단점은 원래 없는 데이터인데 공간을 할당해줘서 만드는 것으로 공간차지를 한다와 수정하는 기능에 대해서는 속도가 느려지는 단점이 있습니다. 이에 따라 개발이 끝나고 나서 가장 많이 사용되는 것에 대해서 인덱스를 만드는 것이 좋다고 합니다.

 

View Definitions

Syntax : CREATE VIEW <view-name> AS <view-definition>;

Syntax : DROP VIEW <view-name>;

 

하나의 매크로라고 생각하면 편하고 예시를 보면 더 간단히 이해할 수 있습니다.

Paramountmovie로부터 1997년에 나온 영화만을 간단하게 뽑을 수 있습니다. 이 경우 간단해서 하나하나 명령을 쳐도 되지만 join과 같이 복잡한 형태로 형성이 되어있는 경우 편리하게 사용할 수 있습니다.

WITH ~ AS (~)의 경우 비슷하지만 (~)안의 질의에 대한 값을 하나의 테이블로 보고 이를 활용하는 것으로 이해하면 편할 것 같습니다.

 

실제 활용 예)

 

이는 read only view 라서 필요한 부분이 정해져 있는데 예시를 생각해보겠습니다. 대학교를 생각하면 대학교에 교수님에 대한 정보와 학생들, 각종 정보들이 다 있을 때 학생 등록금 업무를 처리하는 사람을 생각하면 이 분은 학생 등록금 정보만 읽으면 되므로 이럴 때 view를 활용하면 편리하게 사용할 수 있습니다.

728x90

'학부 전공 > DB' 카테고리의 다른 글

SQL - 제약과 트리거 2  (0) 2021.06.19
SQL - 제약과 트리거 1  (0) 2021.06.19
SQL - ISOLATION LEVEL & Dirty read  (0) 2021.06.19
SQL - Transaction 실제 사용 예시  (0) 2021.06.19
SQL - Transaction 개념 및 정리  (0) 2021.06.19