Index 관련한 내용을 보다가 어쩌다가 공부하게 되었다.
Index | Value |
---|---|
41 | a |
42 | b |
43 | c |
44 | d |
라는 index 테이블이 존재할때
무조건 순서가 보장이 된다.
예를 들어 42와 43사이에 데이터를 삽입하고 싶으면
새로운 데이터의 index를 43으로 설정하고
43, 44 데이터를 전부 밀어내고 index를 재설정 해줘야 한다.
만약 테이블의 데이터가 증가하게 된다면 이러한 처리작업의 시간이 늘게된다.
우리가 일반적으로 알고 있는 PK랑 매우 유사함.
특징
Key | Value |
---|---|
45 | 123 |
20 | 231 |
1 | 100 |
44 | 12 |
위의 테이블은 순서가 보장되지 않아도 되고
Value는 해쉬 방식으로 빨리 찾을수 있다.
Index | Value |
---|---|
123 | a |
231 | b |
100 | c |
12 | d |
위의 테이블들은 약한참조 관계를 이루고 있다.
Index | Value |
---|---|
a | 20 |
이런 정보가 원본 데이터라고 할때
해쉬함수로 pk를 찾아서 검색을 함.
특징
주민번호 같이 중복성이 낮은건 카디널리티가 높다고 하고
이름같이 중복성이 높은건 카디널리티가 낮다고 합니다.
카디널리티가 높을수록 Index 사용을 고려해보기 좋다!!
모든 컬럼마다 index 작업을 할수는 없으니까
남용하면 좋지 않다.