[DB] 인덱싱 사용 이유

Posted by 김성철

DB - 인덱싱 사용 이유

데이터베이스에서 인덱스는 데이터를 빠르게 검색하기 위한 구조입니다.  
데이터베이스에서 많은 양의 데이터를 저장하고 있을 경우, 인덱스를 사용하지 않으면 검색 속도가 느려지는 문제가 발생할 수 있습니다.  
  
인덱스는 데이터베이스 내의 특정 열(column)에 대한 데이터의 위치를 미리 정리하여, 해당 열을 이용한 검색 작업을 빠르게 수행할 수 있게 해줍니다.  
인덱스를 사용하면 검색 작업을 수행할 때 전체 데이터를 찾는 것이 아니라, 해당 열에 대한 인덱스만 검색하면 되기 때문에 빠른 속도로 검색 결과를 가져올 수 있습니다.  
  
데이터베이스에서 인덱스는 일반적으로 B-tree 또는 해시 테이블과 같은 자료구조를 사용하여 구현됩니다.  
  
B-tree 인덱스는 일반적으로 범위 검색과 정렬된 결과를 반환하는 데 효과적이며, 해시 인덱스는 일치하는 값을 찾는 데 빠른 검색 속도를 제공합니다.  
  
하지만 인덱스는 데이터베이스에서 추가적인 공간과 처리 비용을 필요로 하기 때문에, 모든 열에 인덱스를 생성하는 것은 바람직하지 않습니다.  
대신, 검색 작업이 자주 수행되는 열에만 인덱스를 생성하고, 나머지 열은 인덱스를 생성하지 않는 것이 좋습니다.  
또한, 데이터베이스에 새로운 데이터가 추가될 때마다 인덱스를 업데이트해야 하기 때문에, 인덱스를 사용할 때는 적절한 유지 관리가 필요합니다.  

출처 : Chat GPT