DB 쿼리 속도 최적화를 위한 '인덱스'에 대해서 많이 들어보았을 것이다. 오늘은 이 인덱스란 녀석에 대해서 알아보자. Index, 왜 중요할까? 100만 명이 등록되어 있는 user 테이블이 있다. 이때 이름을 기반으로 유저를 조회하려고 한다. select * from user where user_name = "hyunjun" hyunjun이라는 이름을 가진 계정을 찾기 위해서는 100만 개의 row를 모두 scan 해야 한다. (full scan, O(N)) 만약 user_name에 index를 걸어두었다면? B-tree index 기반으로 O(logN)의 시간 복잡도로도 충분히 찾을 수 있다. 정리하자면 index를 사용하는 이유는 특정 조건을 만족하는 데이터들을 빠르게 찾기 위함이다! 상황에 따라..