https://www.youtube.com/watch?v=NkZ6r6z2pBg
https://www.youtube.com/watch?v=9ZXIoh9PtwY
1. index란?
검색을 위해 임의의 규칙대로 부여된 임의의 대상을 가리키는 무언가
인덱스가 왜 필요할까
데이터를 디스크로부터 가져와야하는데 매번 왔다갔다하는건 시간이오래걸리기 때문에
컴퓨터는 자주 사용되는 테이블을 메모리에 데이터를 올린다.
이때 데이터를 요청할 때 메모리에 있으면 빠르고, 메모리가 없으면디스크에 모든 테이블을 스캔해야한다.
-> 주소록과같은 index를 만들어서관리한다
1-2.인덱스의 구조와 원리
B-tree
자식노드의 개수가 2개이상인 트리
->수직적으로 조건에 맞는 Branch노드에 들어간 후 수평적으로 조건에 맞는 node에 들어가게 된다.
2. 인덱스의 종류
-Clustered
-군집화
-Clustered Index: 군집화된 인덱스
인덱스와 데이터가 군집
41: 창수, index123
42: 챙수, index321
43: 민수, minsu123
44: 만수, mansu123
45: 중수, jungsu78
-> 순서대로 정렬되어있다,Auto_Increment
한 테이블당 하나만
범위검색시 강력! -> 부분만 가져오면 되기 때문
but 존재하는 pk 중간에 삽입, 정렬비용이 높아지면 매우 비효율적
-non-clustered
어떤 index와 연결되어있다. 간접 참조
45: 123 123-> 중수, jungsu78
20: 200 200-> 고수, GOSU88
1: 432 432-> 커피, COFFEE12
44: 584 584-> 만수, mansu123
43: 777 777-> minsu123
-> 순서대로 정렬할 필요가 없다
-> 해쉬 방식(인덱스)으로 쉽게 찾을 수 있다.
한 테이블에 여러개(등수, 학번,.....)
추가 저장 공간이 필요하다(약 10%)
Insert시 추가 작업 필요(인덱스 생성)
Cardinality 카디널러티: 유일한 값일수록 높아짐
인덱스는 Cardinality가 높은값일수록 사용하기 좋아짐
-> index는 select에서만 거희 사용된다.
'기본 쌓기 > 우아한테크' 카테고리의 다른 글
우아한테크)🎨 신세한탄의 CSR&SSR (0) | 2022.02.23 |
---|---|
우아한 테크) 그루밍의 상태관리와 반응형 프로그래밍 (0) | 2022.02.16 |
우아한테크)빙봉의 정규표현식 (0) | 2022.02.14 |
우아한테크) 동동의 css방법론 (0) | 2022.02.14 |
우아한테크) 브랜의 프론트엔드에서 컴포넌트 (0) | 2022.02.10 |
댓글