[DB] B-Tree vs Hash index
B-tree
- Primary Key, Unique key 에서 사용되는 index 타입
- 양방향 포인터 형식으로 구현됨
- point queries(=), range(<, <=, >, >=) query 에 유효
- Lookup, insert, delete 가 그렇게 빠르진 않다. (트리 변화가 발생하므로)
- tree 깊이에 따라 disk 가 로딩되므로, 속도 측면에서 매우 빠른 index는 아님
- order by, group by 사용시 권장
Hash index
- in-memory index 타입
- Hash function 을 이용한 Hash table 로 구현
- point query(=) 에 적합, range query(<, <=, >, >=) 에는 부적합
- Lookup, insert, delete 가 매우 빠름
- order by 에는 사용할 수 없음
- group by 의 경우 정렬이 들어가면 index를 못타므로 권장하지 않음