본문 바로가기
WIKI 기술 지식 베이스

DROP INDEX

원문 보기 위키 갱신

DROP INDEX는 데이터베이스에서 인덱스를 제거해요. 기반이 되는 테이블과 데이터에는 영향이 없어요.

출처: 문서

본문

데이터베이스에서 인덱스를 제거해요. 기반이 되는 테이블과 그 데이터는 영향받지 않아요.

문법

DROP INDEX [IF EXISTS] [schema-name.]index-name;

설명

DROP INDEX는 이전에 만든 인덱스를 제거해요. 인덱스가 삭제되면 쿼리 플래너는 더 이상 그 인덱스를 쿼리 최적화에 쓸 수 없어요. 테이블 데이터는 변하지 않아요.

매개변수

매개변수 설명
IF EXISTS 인덱스가 존재하지 않을 때 오류를 막아줘요. 인덱스가 없으면 문은 아무 것도 하지 않아요.
schema-name 인덱스가 들어 있는 붙은(attached) 데이터베이스 이름. 생략하면 main 데이터베이스
index-name 삭제할 인덱스 이름.

동작

  • 명시적으로 만든 인덱스만 삭제할 수 있어요. PRIMARY KEY와 UNIQUE 제약 때문에 자동으로 만들어진 인덱스는 직접 삭제할 수 없어요 — 테이블을 삭제하거나 ALTER TABLE을 쓰세요.
  • 인덱스를 삭제하면 그 인덱스에 의존하던 쿼리의 성능이 떨어질 수 있지만, 정확성에는 영향이 없어요.

예제

인덱스 삭제하기

DROP INDEX idx_users_email;

존재할 때만 인덱스 삭제하기

DROP INDEX IF EXISTS idx_old_search;

붙은 데이터베이스에서 인덱스 삭제하기

DROP INDEX aux.idx_sessions_token;

더 알아보기 (Learn more)