如何在QuestDB中提升Symbol列容量?无需重写大表可行吗?
提升InfluxDB Symbol列容量(无需重写全表)
你可以直接通过ALTER TABLE语句修改Symbol列的容量,无需重写整张表,具体操作如下:
- 执行修改语句
使用以下SQL语句调整node列的Symbol容量,注意新容量需大于当前已有的近100万种不同值,比如设置为1000000或更大:
ALTER TABLE table_raw ALTER COLUMN node symbol(1000000);
如果后续可能有更多新值,建议设置更大的预留容量,比如symbol(2000000)。
- 验证修改结果
执行以下语句查看表结构,确认node列的Symbol容量已更新:
SHOW CREATE TABLE table_raw;
- 关键说明
- 该操作属于元数据修改,无需停服,也不需要重写10亿行数据,执行开销极低。
- 新容量必须大于当前列的实际不同值数量,否则无法存储后续新增的不同
node值。 - 修改后,后续通过ILP写入数据时,新的不同
node值就能正常存储,不会再出现容量不足的问题。
内容的提问来源于stack exchange,提问作者Nick The Greek
相关产品推荐
相关产品推荐

