【问题标题】:What kind of effect does the warning "will split alter table" have警告“将拆分alter table”有什么影响
【发布时间】:2019-02-11 10:54:54
【问题描述】:

我正在使用 tidb 同步器将数据从 mysql 复制到 tidb。但我不完全理解警告“将拆分更改表语句”的含义。

我刚刚发出了下面的简单更改表查询。为什么要拆分语句,它对我的​​ TiDB 的 schema 或数据有什么影响。

ALTER TABLE `agg_url_base` ADD COLUMN `price` INT NULL AFTER `consumption`

下面有 TiDB 的 syncer 日志。

2019/02/11 07:45:44 meta.go:135: [info] save position to file, binlog-name:mysql-bin.000153 binlog-pos:15852122 binlog-gtid:
2019/02/11 07:45:46 ddl.go:103: [warning] will split alter table statement: ALTER TABLE `agg_url_base` ADD COLUMN `price` INT NULL AFTER `consumption`
2019/02/11 07:45:46 ast.go:508: [info] spec &{node:{text:} Tp:2 Name: Constraint:<nil> Options:[] NewTable:<nil> NewColumns:[0xc0003616c0] OldColumnName:<nil> Position:0xc0005d10a0 LockType:0 Comment: FromKey: ToKey: PartDefinitions:[] Num:0}
2019/02/11 07:45:46 ddl.go:107: [warning] splitted alter table statement: [ALTER TABLE `agg_url_base` ADD COLUMN `price` int(11) NULL AFTER `consumption`]
2019/02/11 07:45:46 syncer.go:745: [info] [query]ALTER TABLE `agg_url_base` ADD COLUMN `price` INT NULL AFTER `consumption` [current pos](mysql-bin.000153, 15852977) [next pos](mysql-bin.000153, 15853214) [current gtid set] [next gtid set]<nil>
2019/02/11 07:45:46 syncer.go:784: [info] [ddl][schema]adn [start]USE `adn`; ALTER TABLE `agg_url_base` ADD COLUMN `price` int(11) NULL AFTER `consumption`;
2019/02/11 07:45:47 meta.go:135: [info] save position to file, binlog-name:mysql-bin.000153 binlog-pos:15853214 binlog-gtid:
2019/02/11 07:45:47 syncer.go:792: [info] [ddl][end]USE `adn`; ALTER TABLE `agg_url_base` ADD COLUMN `price` int(11) NULL AFTER `consumption`;

【问题讨论】:

    标签: mysql tidb


    【解决方案1】:

    为什么要拆分语句

    在 TiDB 中,多个 DDL 应该一个一个地执行。如果你在上游 MySQL 中执行一个带有多个 DDL 的查询(例如在一个查询中修改多个列),它将在 Syncer 中拆分为多个查询(一个查询只有一个 DDL),然后在 TiDB 中执行。

    它对我的 TiDB 的 schema 或数据有什么影响

    如果您的原始查询结合了多个DDL,则查询的效果不会像执行多个查询一样发生变化。事实上,你可以把这个警告当作一个信息

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 2015-11-12
      • 2016-02-08
      • 2017-12-24
      相关资源
      最近更新 更多