728x90
반응형
SMALL

안녕하세요, 혼자 공부하는 SQL을 보고 학습한 자료를 남깁니다.

 

인덱스의 개념

책의 찾아보기라고 보면 쉽다.

UNIQUE라는 단어를 찾아본다고 보자.

찾아보기에 없다면 책 전체를 다 넘겨야만 이 글자를 찾을 수가 있다.

엄청난게 오랜 시간이 걸리게 된다.

하지만 찾아보기에 있다면 'U'자를 찾아서 75페이지에서 금방 찾을 수가 있다.

찾아보기가 없을 때 찾는 것과 찾아보기가 있을 때 찾는 것은 차이가 크게 나면 수백배 차이가 난다.

 

인덱스의 필요성

인덱스는  반드시 필요한 것은 아니다.

하지만 현실적으로 실무에서는 INDEX가 없이는 사용하기가 굉장히 어렵다.

실제로 데이터가 엄청나게 많기 때문이다.

실무에서는 INDEX를 반드시 사용한다고 보면 된다.

실습에서는 데이터가 워낙 작기 때문에 INDEX가 없어도 괜찮은 것이다.

실제로는 INDEX가 있어야만 찾아보기가 가능하다.

찾는 기능은 바로 SELECT문이다.

SELECT를 빨리 하기 위해서는 찾아보기가 필요하다.

INDEX를 통해서 SELECT문을 하는 것이 현실적인 실무에서의 상황이다.

인덱스의 문제점

하지만 IDNEX의 이해 없이 무리하게 SELECT문을 날리면

시스템에 문제가 생기거나, 더 느려지는 경우가 있다.

그래서 정확히 이해를 해야한다.

만일 INDEX를 전부 만든다면 

찾아보기가 더 커져서 찾아보기에서 찾기가 어려울 것이다.

특히 책과 찾아보기를 왔다 갔다를 너무 많이 반복하면 당연히 어려울 것이다.

그래서 INDEX를 만든다고 다 좋은 것은 아니다.

대량의 데이터만 INDEX를 만들면 된다.

인덱스의 장단점

장점) SELECT문의 결과가 정말 빠르다.

한 명의 처리가 빠르면 다른 사람의 처리도 빨라 진다.

그러면 전반적인 컴퓨터의 시스템이 빨라진다.

컴퓨터의 부담 또한 줄어든다.

단점) INDEX는 추가적인 공간을 차지한다.

10~20% 정도를 차지한다.

만들어진 테이블의 INDEX를 만드는데 시간이 오래걸릴 수도 있다.

그래서 가능하면 처음부터 INDEX를 만드는 것이 좋다.

인덱스의 종류

1. 클러스터형 인덱스

영어 사전, 국어 사전

2. 보조 인덱스

책의 맨 뒤의 찾아보기

 

 

 

 

 

 

 

 

 

감사합니다.

https://www.youtube.com/watch?v=KZmW6VaY5BU&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm&index=16

 

728x90
반응형
LIST

+ Recent posts