重要

你正在查看 TiDB 数据库的较旧版本 (TiDB v5.4) 的文档。

如无特殊需求,建议使用 TiDB 数据库的最新 LTS 版本

通过 SQL 表达式过滤 DML

在进行增量数据迁移时,可以通过如何过滤 binlog 事件功能过滤某些类型的 binlog event,例如不向下游迁移 DELETE 事件以达到归档、审计等目的。但是 binlog event filter 无法以更细粒度判断某一行的 DELETE 事件是否要被过滤。

为了解决上述问题,从 v2.0.5 起,DM 支持在增量数据同步阶段使用binlog value filter过滤迁移数据。DM 支持的 ROW 格式的 binlog 中,binlog event 带有所有列的值。你可以基于这些值配置 SQL 表达式。如果该表达式对于某条行变更的计算结果是 TRUE,DM 就不会向下游迁移该条行变更。

具体操作步骤和实现细节,请参考如何通过 SQL 表达式过滤 DML

文档内容是否有帮助?