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
- CREATE INDEX for creating indexes
- DROP INDEX for removing indexes
- ANALYZE for collecting index statistics
더 알아보기 (Learn more)
- CREATE INDEX - 인덱스 생성 방법
- DROP INDEX - 인덱스 제거 방법
- ANALYZE - 인덱스 통계 수집
- EXPLAIN - 쿼리 플랜 확인