tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

Online DDL 说明

PDF
聚焦模式
字号
最后更新时间: 2026-03-06 18:50:06
本文说明 TDSQL Boundless 对 Online DDL 的支持。TDSQL Boundless 已支持大部分的 Online DDL,包括部分只需要修改元数据的 Inplace DDL。

对 Online DDL 的支持

二级索引

操作项
语法支持
在线更改
不支持在线更改原因
仅修改元数据
对用户数据的操作
支持并发 DML
Creating or adding a secondary index
Yes
Yes
/
No
需要数据回填
Yes
Dropping an index
Yes
Yes
/
No
需要异步删除数据
Yes
Renaming an index
Yes
Yes
/
No
/
Yes
Adding a FULLTEXT index
No
No
暂不支持全文索引
/
/
/
Adding a SPATIAL index
No
No
暂不支持空间索引
/
/
/
Changing the index type
No
No
引擎只支持普通索引,不支持 Btree/Hash 等
/
/
/

主键

涉及主键修改的 DDL 都不支持 Online 方式。
操作项
语法支持
在线更改
不支持在线更改原因
仅修改元数据
对用户数据的操作
支持并发 DML
Adding a primary key
Yes
No
需要重新组织数据
No
需要锁表 COPY
No
Dropping a primary key
Yes
No
需要重新组织数据
No
需要锁表 COPY
No
Dropping a primary key and adding another
Yes
Yes
/
No
需要锁表 COPY
Yes

操作项
语法支持
在线更改
不支持在线更改原因
仅修改元数据
对用户数据的操作
支持并发 DML
Adding a column
(尾部追加)
Yes
Yes
/
Yes
Yes
Adding a column
(非尾部追加)
Yes
Yes
/
No
需要 Online Copy
Yes
Dropping a column
Yes
Yes
/
No
需要 Online Copy
Yes
Renaming a column
Yes
Yes
/
Yes
/
Yes
Reordering columns
Yes
Yes
/
No
需要 Online Copy
Yes
Setting a column default value
Yes
Yes
/
Yes
/
Yes
Changing the column data type
Yes
Yes
/
No
需要 Online Copy
Yes
Extending VARCHAR column size
(column is not part of primary key)
Yes
Yes
/
视情况而定,详见尾部说明
视情况而定,详见尾部说明
Yes
Extending VARCHAR column size
(column is part of primary key)
Yes
Yes
/
No
需要 Online Copy
Yes
Dropping the column default value
Yes
Yes
/
Yes
/
Yes
Changing the auto-increment value
Yes
Yes
/
Yes
/
Yes
Making a column NULL
Yes
Yes
/
No
需要 Online Copy
Yes
Making a column NOT NULL
Yes
Yes
/
No
需要 Online Copy
Yes
Modifying the definition of an ENUM or SET column
Yes
Yes
/
Yes
/
Yes

操作项
语法支持
在线更改
不支持在线更改原因
仅修改元数据
对用户数据的操作
支持并发 DML
Changing the ROW_FORMAT
No
No
引擎不支持
/
/
/
Changing the KEY_BLOCK_SIZE
No
No
引擎不支持
/
/
/
Setting persistent table statistics
No
No
引擎不支持
/
/
/
Specifying a character set
Yes
Yes
/
No
需要 Online Copy
Yes
Converting a character set
Yes
Yes
/
No
需要 Online Copy
Yes
Optimizing a table
Yes
/
使用该语法时直接返回成功,实际未做任何操作,因为引擎会执行自动 compaction,该语法的行为并不适用。
/
/
/
Rebuilding with the FORCE option
Yes
Yes
/
No
需要 Online Copy
Yes
Performing a null rebuild
No
No
引擎不支持
/
/
/
Renaming a table
Yes
Yes
/
Yes
/
Yes

分区

操作项
语法支持
在线更改
不支持在线更改原因
仅修改元数据
对用户数据的操作
支持并发 DML
PARTITION BY
Yes
Yes
/
No
需要 Online Copy
Yes
ADD PARTITION
Yes
Yes
/
Yes
/
Yes
DROP PARTITION
Yes
Yes
/
Yes
/
Yes
DISCARD PARTITION
No
No
引擎不支持
/
/
/
IMPORT PARTITION
No
No
引擎不支持
/
/
/
TRUNCATE PARTITION
Yes
Yes
/
/
需要异步删除数据
Yes
COALESCE PARTITION
Yes
Yes
/
No
需要 Online Copy
Yes
REORGANIZE PARTITION
Yes
Yes
/
No
需要 Online Copy
Yes
EXCHANGE PARTITION
No
No
引擎不支持
/
/
/
ANALYZE PARTITION
No
No
引擎不支持
/
/
/
CHECK PARTITION
No
No
引擎不支持
/
/
/
OPTIMIZE PARTITION
Yes
/
使用该语法时直接返回成功,实际未做任何操作,因为 引擎会执行自动 compaction,该语法的行为并不适用。
/
/
/
REBUILD PARTITION
Yes
Yes
/
No
需要 Online Copy
Yes
REPAIR PARTITION
Yes
No
未算作 DDL
/
/
/
REMOVE PARTITIONING
Yes
Yes
/
No
需要 Online Copy
Yes

表空间

目前暂不支持表空间(Tablespace)相关操作。

生成列

目前暂不支持生成列(Generated column)相关操作。

外键

目前暂不支持外键(Foreign keys)相关操作。

与社区版 MySQL 支持情况对比

将 TDSQL Boundless 的 Inplace 和 Online Copy 以及 社区版 MySQL8.0 的 Instant 和 Inplace 均视为 Online 操作,两者对于常用 DDL 的差异对比说明如下。
操作项
TDSQL Boundless
MySQL
Converting a character set
支持 DML 并发
不支持 DML 并发
Changing the column data type
支持 DML 并发
不支持 DML 并发
PARTITION BY
支持 DML 并发
不支持 DML 并发
Extending VARCHAR column size
支持 DML 并发
部分情况下支持,对 VARCHAR(X) 中的 X 有限制
Adding a primary key
不支持 DML 并发
支持 DML 并发
说明:
TDSQL Boundless 目前尚有少量 DDL 没有支持,因此此处只说明了对比 TDSQL Boundless 和社区版 MySQL 8.0均支持的部分的差异;
对于 Extending VARCHAR column size 类型,社区版 MySQL8.0会对 VARCHAR(X) 指定的字符长度做出限制,主要涉及存储的 pack length。假设以UTF8MB4作为字符集,某字段所占的字节数为 X*4。
进行 DDL 时,假设当前 VARCHAR 字段 X*4<256,且修改后的字段 Y*4<256;则支持 Inplace;
进行 DDL 时,假设当前 VARCHAR 字段 X*4<256,但修改后的字段 Y*4>=256;则不支持 Inplace;
示例:
CREATE TABLE t1(a INT PRIMARY KEY, b VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(20), ALGORITHM=INPLACE, LOCK=NONE; → 成功
ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(64), ALGORITHM=INPLACE, LOCK=NONE; → 失败

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈