本文介绍了什么是秒级加字段功能及如何使用。
传统方法给表中增加列时,存储节点上需要重建所有物理分片数据,会占用大量系统资源。PolarDB-X新增的秒级加字段(Instant Add Column)功能,在加列操作时只需变更表定义信息,无需修改已有数据,帮助您快速给任意大小的表增加列。
前提条件
- 此功能仅支持PolarDB-X 2.0版本的实例,并且要求实例版本为5.4.13-16504348及以上;
- 该功能默认关闭,使用时需要显式开启。
使用限制
- 不支持新增主键列;
- 不支持对具有ROW_FORMAT = COMPRESSED属性的表使用该功能;
说明 执行
SHOW CREATE TABLE
语句,可查看表是否具有ROW_FORMAT = COMPRESSED属性。 - 不支持对具有全文索引的表使用该功能;
- 同一条
ALTER TABLE
语句中只能包含增加列操作,包含任何其它操作时则不支持。
开启方法
在同一个PolarDB-X连接上,执行以下语句,开启秒级加字段功能:
SET enable_set_global=TRUE;
SET global support_instant_add_column=ON;
参数说明:
参数名称 | 级别 | 参数说明 |
---|---|---|
support_instant_add_column | Global | 秒级加字段功能的开关:
|
使用方法
当
ALTER TABLE
语句为下列情况时,该语句使用了秒级加字段功能:
- 未指定算法,示例如下:
ALTER TABLE test ADD COLUMN col2 int;
- 将算法指定为DEFAULT,示例如下:
ALTER TABLE test ADD COLUMN col3 int, ALGORITHM=DEFAULT;
- 将算法指定为INSTANT,示例如下:
ALTER TABLE test ADD COLUMN col1 int, ALGORITHM=INSTANT;
说明
如果指定了其它算法,例如INPLACE或COPY,则不能使用该功能,
PolarDB-X将采用普通方式执行增加列操作。示例如下:
ALTER TABLE test ADD COLUMN col4 int, ALGORITHM=INPLACE;
ALTER TABLE test ADD COLUMN col5 int, ALGORITHM=COPY;