本文介绍了什么是秒级加字段功能及如何使用。
传统方法给表中增加列时,存储节点上需要重建所有物理分片数据,会占用大量系统资源。PolarDB-X新增的秒级加字段(Instant Add Column)功能,在加列操作时只需变更表定义信息,无需修改已有数据,帮助您快速给任意大小的表增加列。
前提条件
此功能仅支持PolarDB-X 2.0版本的实例,并且要求实例版本为5.4.13-16504348及以上。
对于DN版本为5.7的实例,该功能默认关闭,使用时需要显式开启,开启方法请参见使用方法。
对于DN版本为8.0的实例,该功能自动开启。
DN版本的信息请登录PolarDB分布式版控制台,在实例的 界面,配置信息区块查看兼容性获得。
使用限制
秒级加字段不支持新增主键字段(列)。
具有ROW_FORMAT = COMPRESSED属性的表不支持秒级加字段。
说明执行
SHOW CREATE TABLE
语句,可查看表是否具有ROW_FORMAT = COMPRESSED属性。具有全文索引的表不支持秒级加字段。
具有物理分区的表不支持秒级加字段。
说明执行
SHOW CREATE TABLE
语句,可查看表是否具有LOCAL PARTITION BY
子句。仅支持在所有列的最后执行
INSTANT ADD COLUMN
(仅在DN版本为5.7的实例中有此限制)。同一条
ALTER TABLE
语句中只能包含增加列操作,包含任何其它操作时则不支持。
使用方法
参数说明(DN版本为5.7)
参数名称 | 级别 | 参数说明 |
loose_innodb_support_instant_add_column | Global | 秒级加字段功能的开关:
|
设置方法:
登录PolarDB分布式版控制台,在实例的 界面,设置loose_innodb_support_instant_add_column为on。
语句说明
当ALTER TABLE将算法指定为INSTANT时,能够为语句启用秒级加字段的功能,其它算法,例如INPLACE或COPY,则不启用。
对于DN版本为8.0的实例,不指定ALGORITHM=INSTANT默认使用秒级加字段功能,示例:
ALTER TABLE test ADD COLUMN col1 int;
指定ALGORITHM=INSTANT以强制使用秒级加字段功能,示例:
ALTER TABLE test ADD COLUMN col2 int, ALGORITHM=INSTANT;
指定ALGORITHM=INPLACE或ALGORITHM=COPY,PolarDB-X不启用秒级加字段功能,示例:
ALTER TABLE test ADD COLUMN col3 int, ALGORITHM=INPLACE; ALTER TABLE test ADD COLUMN col4 int, ALGORITHM=COPY;