[MySQL] Index정리

생각하는 마리오네트·2022년 4월 10일
0

SQL

목록 보기
35/39

인덱스란??

인덱스는 데이터를 조회할 때 결과를 출력하는데 시간을 대폭 감소시켜주는 역할을 합니다. 실제로 테이블 내 데이터(정보)양이 적은경우 문제가 되지 않지만 천만건, 1억건이상의 데이터를 Full Scan(전부 스캔) 하게 되면 엄청 오랜시간이 걸리고 시간이 걸린 이후에도 오류가 날 수 있습니다. 데이터 분석가를 비롯하여 DB(DataBase)에서 많은 시간을 보내는 사람들은 하나의 결과물을 출력하기위해 쿼리를 짜고 조회를 하는데 엄청난 시간이 걸린다면 하루동안 조회만 하다가 끝나는 참사가 일어나게 됩니다. 이를 보완해주는 것이 인덱스 입니다.

개념 이해

인덱스란 "책갈피" 같은 역할이라고 이해하면 쉬울것 같습니다.2만페이지 짜리 책을 읽는다고 가정했을때 다읽고 원하는 내용이 있는 페이지를 찾고싶은데 2만페이지를 모두 넘기면서 찾는것은 너무 힘든일입니다. 따라서 특정 장소에서 일어난 일이라고 가정했을때 해당 장소에 맞는 소제목이 시작하는 곳에 책갈피를 만들어둔다고 생각하시면 됩니다. 이렇게 되면 훨씬 빠르게, 책이 두꺼우면 두꺼울수록 수백배 수천배 빠르게 찾을 수 있게 되는 것입니다.

처음 인덱스 설명에서 사용한 "Full Scan" 이라는 단어가 여기서의 모든책의 장을 하나씩 다 넘겨본다는 뜻으로 생각할 수 있습니다.

(계속해서 뒷 내용 업데이트 할 예정입니다.)

profile
문제를해결하는도구로서의"데이터"

0개의 댓글