创建结构变更工单时,默认采用 OnlineDDL 的方式执行 SQL 命令。通过 OnlineDDL 工单可以协助您规避数据库锁表而导致的 DDL 或查询阻塞问题。本文介绍如何在数据库工作台 DBW 控制台创建无锁结构变更工单即 OnlineDDL 工单。
在创建无锁结构变更工单时,选择的表需要有主键。
仅支持选择开启安全管控的实例创建无锁结构变更工单进行纳管。
仅支持在 DBW 用户管理内添加的用户创建工单。
支持的 SQL 类型包括 ALTER TABLE
、CREATE INDEX
、DROP INDEX
,具体信息,请参见参考文档。
OnlineDDL 执行期间请勿手动执行其他 DDL,否则可能会导致手动执行的 DDL 结果被覆盖。
在无锁结构变更工单中,建议数据库和表的字符串总长度不超过 52 个,否则可能会导致 SQL 语句执行失败或引起数据库系统运行时错误。
登录 DBW 控制台。
在顶部菜单栏,选择地域。
在左侧导航栏,选择数据管理 > 工单列表。
在工单列表页面,单击创建工单。
在创建工单对话框,配置以下参数信息。
参数 | 说明 |
---|---|
创建人 | 默认为当前登录的账号,且不支持修改。 |
数据库类型 | 选择云数据库 veDB MySQL 版,纳管云数据库 veDB MySQL 版的实例。 |
工单类型 | 默认选择无锁结构变更,且不支持切换。结构变更表示通过 说明 默认先采用 OnlineDDL 的方式执行 SQL 命令。 |
执行方式 | 按需选择执行方式,支持以下选择:
|
执行开始时间 | 按需设置开始执行工单的时间。 说明 在执行方式选择审批后定时执行时,支持设置执行开始时间。 |
执行结束时间 | 按需开启和设置工单执行结束时间。 说明 在执行方式选择审批后定时执行并设置了执行开始时间时,执行结束时间需晚于执行开始时间。 |
实例 | 从下拉列表中选择需要创建无锁结构变更工单的实例。 |
数据库 | 从下拉列表中选择需要创建工单的数据库。 |
SQL 文本 | 按需设置 SQL 语句。关于结构变更支持的 SQL 语句,具体请参见参考文档。 |
单击提交工单。
结构变更支持的 SQL 语句如下表所示。
分类 | DDL 操作 | 变更方式 |
---|---|---|
索引操作 | 添加索引 |
|
删除索引 |
| |
添加一个二级索引 |
| |
删除一个索引 |
| |
重命名索引 |
| |
添加 FullText 索引 |
| |
添加 SPATIAL 索引 |
| |
修改索引的类型 |
| |
列操作 | 添加列 |
|
删除列 |
| |
列顺序重排 |
| |
设置列的默认值 |
| |
修改列的数据类型 |
| |
扩展 VarChar 类型长度-变大 |
| |
扩展 VarChar 类型长度-变小 |
| |
删除列的默认值 |
| |
修改列的 |
| |
设置列为 NULL |
| |
设置列 NOT NULL |
| |
修改 ENUM 或者 SET 列的定义 |
| |
外键操作 | 新增外键限制 |
|
删除外键限制 |
| |
表操作 | 变更表字符集 |
|
修改 ROW_FORMAT |
说明
| |
修改 KEY_BLOCK_SIZE |
| |
设置字符集 |
| |
|
| |
FORCE 重建表 |
|