ALTER TABLE ... MODIFY ORDER BY

ALTER TABLE ... MODIFY ORDER BY

테이블의 정렬 키(sorting key)new_expression(표현식 또는 표현식의 튜플)으로 변경하는 명령이에요. 기본 키(primary key)는 그대로 유지됩니다.

출처: 문서

본문

ALTER TABLE [db].name [ON CLUSTER cluster] MODIFY ORDER BY new_expression

이 명령은 테이블의 정렬 키new_expression(표현식 또는 표현식의 튜플)으로 변경해요. 기본 키는 그대로 유지됩니다.

이 명령은 메타데이터만 변경한다는 점에서 가벼운(lightweight) 연산이에요. 데이터 파트의 행이 정렬 키 표현식 순서로 정렬되어 있다는 속성을 유지하기 위해, 기존 컬럼을 포함하는 표현식은 정렬 키에 추가할 수 없어요(같은 ALTER 쿼리의 ADD COLUMN 명령으로 추가되고 기본 컬럼 값이 없는 컬럼만 추가할 수 있습니다).

같은 이유로, new_expression이 유지하는 정렬 키 컬럼의 정렬 방향(ASC 또는 DESC)은 변경할 수 없어요. 기존 파트는 그 컬럼이 작성되었을 때의 방향으로 물리적으로 정렬된 상태로 남아 있고, 일반 데이터 파트에 그 방향이 기록되지 않기 때문이에요. 다른 방향을 사용하려면 원하는 ORDER BY로 새 테이블을 만들고 INSERT ... SELECT로 데이터를 복사해야 합니다.

이 명령은 MergeTree 계열의 테이블(복제(replicated) 테이블 포함)에서만 동작해요.

Part of: ALTER

Related: ALTER, CREATE TABLE, ALTER TABLE ... MODIFY SAMPLE BY

더 알아보기 (Learn more)