本文介紹了什么是秒級加字段功能及如何使用。
傳統方法給表中增加列時,存儲節點上需要重建所有物理分片數據,會占用大量系統資源。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;