Database index

이산·2023년 10월 12일
0

기술블로그

목록 보기
37/42

데이터베이스에서 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다.

데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕는다.

Index를 사용하지 않는다면 Full scan을 하기 때문에 처리 속도가 느리다.

<장점>

  1. 테이블을 조회하는 속도와 그에 따른 성능을 향상시킬 수 있다.
  2. 전반적인 시스템 부하를 줄일 수 있다.

<단점>

  1. 인덱스를 관리하기 위해 약 10% 정도의 저장 공간이 필요하다.
  2. 인덱스를 위한 추가적인 코드 등의 작업이 필요하다.
  3. 인덱스를 잘못 사용할 경우 오히려 성능이 저하될 수 있다.

Create, Update, Delete가 빈번한 속성에 인덱스를 걸게 된다면 인덱스의 크기가 비대해져서 오히려 성능이 저하된다.

<테이블 인덱스 확인>

SHOW INDEX FROM 테이블명;

<인덱스 생성>

CREATE INDEX 인덱스명 ON 테이블명(컬럼명);

ALTER TABLE 테이블명 DROP INDEX 인덱스명;

<인덱스 삭제>

ALTER TABLE 테이블명 DROP INDEX 인덱스명;

profile
백엔드 개발자입니다.

0개의 댓글