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

REINDEX

원문 보기 위키 갱신

인덱스를 처음부터 다시 만들어 주는 REINDEX 문이에요. 콜레이션(collation) 정의가 바뀌었거나 인덱스가 오래되어 상태가 의심될 때 인덱스를 새로 다듬는 데 유용해요.

출처: 문서

본문

REINDEX 문은 인덱스를 삭제했다가 처음부터 다시 만들어요. 콜레이션 시퀀스 정의가 바뀌었을 때나, 오래되어 상태가 맞지 않을 수 있는 인덱스를 다시 만들 때 유용해요.

Syntax

REINDEX;
REINDEX collation-name;
REINDEX [schema-name.]table-name;
REINDEX [schema-name.]index-name;

Description

Form Description
REINDEX 연결된 모든 데이터베이스의 모든 인덱스를 다시 만들어요.
REINDEX collation-name 지정한 콜레이션 시퀀스를 사용하는 모든 인덱스를 다시 만들어요.
REINDEX table-name 지정한 테이블과 연관된 모든 인덱스를 다시 만들어요.
REINDEX index-name 지정한 인덱스를 다시 만들어요.

단일 이름(스키마 접두어 없는 이름)을 하나만 주면 Turso는 collation → table → index 순서로 해석해요. 이름이 콜레이션 시퀀스와 일치하면 그 콜레이션을 쓰는 모든 인덱스를 다시 만들고, 그렇지 않으면 테이블 이름이나 인덱스 이름으로 취급해요.

Examples

-- 데이터베이스의 모든 인덱스를 다시 만들어요
REINDEX;

-- 한 테이블의 모든 인덱스를 다시 만들어요
REINDEX orders;

-- 인덱스 하나만 다시 만들어요
REINDEX idx_customer;

-- 콜레이션을 사용하는 모든 인덱스를 다시 만들어요
REINDEX NOCASE;

Limitations

REINDEX는 다음 경우에 오류를 돌려줘요.

  • 연결이 MVCC 모드(journal_mode=mvcc)일 때.
  • WITHOUT ROWID 테이블인 경우.
  • FTS나 벡터 인덱스처럼 뒤에 B-트리가 없는 커스텀 인덱스 메서드인 경우.
  • PRAGMA query_only가 켜져 있을 때.

See Also

더 알아보기 (Learn more)