[DB] 데이터베이스 - 인덱스(index) 정리
·
DB
쿼리가 갑자기 느려지거나, 데이터가 쌓일수록 조회가 버벅인다는 느낌이 든다면 십중팔구 인덱스 얘기가 나온다. 인덱스를 그냥 "빠르게 해주는 것"으로만 알고 쓰면 나중에 반드시 막히는 순간이 온다. 왜 빠른지, 어떤 상황에서 빠른지, 잘못 쓰면 오히려 느려지는 이유까지 같이 정리해두려고 한다.인덱스가 없으면 어떻게 될까테이블에 데이터가 100만 건 있다고 해보자. 여기서 특정 사용자를 찾으려면 DB는 어떻게 할까.인덱스가 없다면 첫 번째 행부터 마지막 행까지 전부 다 훑는다. 이걸 Full Table Scan이라고 한다. 100만 건을 다 뒤지는 거다. 운 좋으면 앞에서 찾겠지만, 최악의 경우 100만 번째에 있을 수도 있다.데이터가 적을 때는 체감이 안 되지만, 트래픽이 붙고 데이터가 쌓이기 시작하면 이..