Skip to main content
该命令会将表的排序键更改为 new_expression (一个表达式或表达式元组) 。主键保持不变。 该命令比较轻量,因为它只会更改元数据。为了保持数据分区片段中的行按照排序键表达式排序这一特性,你不能向排序键中添加包含现有列的表达式 (只能添加在同一 ALTER 查询中通过 ADD COLUMN 命令新增的列,且该列没有默认值) 。 出于同样的原因,对于 new_expression 中保留下来的排序键列,你也不能更改其排序方向 (ASC 或 DESC):已有的 parts 在物理上仍按写入时该列所使用的方向排序,而普通的 data part 并不会记录该方向。若要使用不同的方向,请创建一个具有所需 ORDER BY 的新表,并使用 INSERT ... SELECT 将数据复制到其中。
它仅适用于 MergeTree 家族中的表 (包括复制表) 。
属于: ALTER 相关: ALTER、CREATE TABLE、ALTER TABLE ... MODIFY SAMPLE BY
最后修改于 2026年9月24日