-
DDL工具简介 - 云数据库 RDS
DDL工具简介 MySQL 5.6之前数据库中对大表的表结构修改的DDL操作通常会引发DML语句阻塞,复制延迟升高等问题,导致数据库对外呈现出一种“异常”的状态。本文介绍了MySQL原生的数据库DDL方式Copy和Inplace算法、开源工具gh-ost以及MySQL 8.0新增
-
MySQL原生的DDL工具 - 云数据库 RDS
MySQL原生的DDL工具 Copy算法 按照原表定义创建一个新的临时表。 对原表加写锁(禁止DML)。 在1建立的临时表执行DDL。 将原表中的数据copy到临时表。 释放原表的写锁。 将原表删除,并将临时表重命名为原表。 采用copy方式期间需要锁表,禁止DML写操作。当Lock
-
DDL工具测试对比 - 云数据库 RDS
测试结果 MySQL原生copy算法:update、insert执行会阻塞,select语句可以正常执行。 MySQL原生inplace算法:不会长时间阻塞DML语句,且对大表添加一列耗时最短。 gh-ost工具:几乎不阻塞DML语句,DDL添加一列耗时比MySQL原生的两种算法时间长。
-
DDL - 云数据库 GaussDB
区和普通表数据的交换;GaussDB需要保证普通表和分区表的被删除列严格对齐才能进行分区和普通表数据的交换。 MySQL和GaussDB的哈希算法不同,所以两者在相同的hash分区存储的数据可能不一致,导致最后交换的数据也可能不一致。 MySQL的分区表不支持外键,普通表包含外键
-
DDL进度显示 - 云数据库 RDS
DDL进度显示 功能介绍 大表的DDL操作往往会比较耗时,社区版MySQL无法感知整个DDL的进行阶段与该阶段的进度,可能给用户带来很大的困扰。 针对以上问题,华为云RDS for MySQL推出了DDL进度显示特性,用户可以通过查询“INFORMATION_SCHEMA.INN
-
MySQL Online DDL工具使用 - 云数据库 RDS
MySQL Online DDL工具使用 DDL工具简介 MySQL原生的DDL工具 gh-ost工具 instant秒级加列 DDL工具测试对比 父主题: RDS for MySQL
-
DDL - 云数据库 GaussDB
t_increment的值,会产生错误。MySQL允许,并说明auto_increment_offset会被忽略。 在表有主键或索引的情况下,ALTER TABLE命令重写表数据的顺序与MySQL不一定相同,GaussDB按照表数据存储顺序重写,MySQL会按主键或索引顺序重写,导致自增值的顺序可能不同。
-
DDL - 云数据库 GaussDB
TABLE带CHECK约束的时候,MySQL8.0会生效,MySQL5.7只解析语法但不生效。GaussDB在此功能上同步MySQL8.0版本,且GaussDB CHECK约束可以引用其他列,而MySQL不能。 GaussDB 一个表中最多只能加32767个CHECK约束。 索引的algorithm和lock选项不起作用
-
并行DDL - 云数据库 GaussDB(for MySQL)
并行DDL 传统的DDL操作基于单核和传统硬盘设计,导致针对大表的DDL操作耗时较久,延迟过高。以创建二级索引为例,过高延迟的DDL操作会阻塞后续依赖新索引的DML查询操作。 云数据库 GaussDB(for MySQL)支持并行DDL的功能。当数据库硬件资源空闲时,您可以通过并
-
DDL优化 - 云数据库 GaussDB(for MySQL)
DDL优化 并行DDL DDL快速超时 父主题: 内核功能
-
instant秒级加列 - 云数据库 RDS
instant秒级加列 背景 通常情况下大表的DDL操作都会对业务产生很大的影响,需要在业务低峰期做。MySQL 5.7支持原生DDL工具Copy和Inplace算法、以及开源DDL工具gh-ost,减少了DDL期间DML操作被阻塞的情况。但是大表DDL仍然需要花费很长时间。 instan
-
DDL快速超时 - 云数据库 GaussDB(for MySQL)
t_timeout和rds_ddl_lock_wait_timeout)的最小值。 使用示例 首先开启一个客户端,执行加锁操作,示例如下。 图1 加锁操作 通过如下命令,查看DDL快速超时功能的状态。 show variables like "%rds_ddl_lock_wait_timeout%";
-
gh-ost工具 - 云数据库 RDS
gh-ost工具 背景 Percona社区的pt-osc的开源DDL工具依赖于触发器来将源表的写操作映射到新表。虽然使用触发器可以提高同步的效率,但触发器执行的开销会对于主库的性能产生很大的影响。另外拷贝数据和变更数据可能处于并行状态,如果在迁移过程中对表的更新比较频繁会引入大量的锁竞争问题。
-
DDL概述 - 分布式数据库中间件 DDM
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
-
备份期间DDL操作导致备份失败 - 云数据库 RDS
备份期间DDL操作导致备份失败 场景描述 实例连续两天备份失败,备份时间窗内有DDL操作。 问题原因 MySQL全量备份基于xtrabackup,为保证数据一致性,全量备份操作与DDL操作存在元数据锁冲突,会导致备份一直阻塞等待,超时失败。 执行“show processlist
-
MySQL CDC源表 - 数据湖探索 DLI
MySQL CDC源表 功能描述 MySQL的CDC源表,即MySQL的流式源表,会先读取数据库的历史全量数据,并平滑切换到Binlog读取上,保证数据的完整读取。 前提条件 MySQL CDC要求MySQL版本为5.7或8.0.x。 该场景作业需要DLI与MySQL建立增强型跨
-
模式对象与数据定义(DDL) - 数据仓库服务 GaussDB(DWS)
模式对象与数据定义(DDL) 表(可选参数、操作) 索引 注释 数据库 父主题: MySQL语法迁移
-
MySQL CDC源表 - 数据湖探索 DLI
MySQL CDC源表 功能描述 MySQL的CDC源表,即MySQL的流式源表,会先读取数据库的历史全量数据,并平滑切换到Binlog读取上,保证数据的完整读取。 前提条件 MySQL CDC要求MySQL版本为5.7或8.0.x。 该场景作业需要DLI与MySQL建立增强型跨
-
不支持同步的DDL - 云数据库 GaussDB(for MySQL)
HTAP节点上查询和分析数据。 建表语句不能包含CHECK,表选项等。 在数据同步过程中,表3中的操作会导致HTAP中数据和GaussDB(for MySQL) 中数据不一致,应尽量避免使用。 表1 不支持同步的索引相关操作 DDL名称 SQL样例 添加索引 ALTER TABLE
-
注释 - 数据仓库服务 GaussDB(DWS)
注释 MySQL支持由 '#' 或 '--' 字符引起的单行注释,而GaussDB(DWS)仅支持由双破折号 '--' 字符引起的单行注释。DSC工具迁移时会将 '#' 转化为 '--' 注释。 输入示例 1 2 3 4 5 6 7 ## comment sample create