truncate table操作执行时间过长

请教下大神,在做数据迁移的时候,会同时truncate 20张左右的表,每个truncate的执行时长很长,和并发执行有关系么?或者有替代方案来完成清空20张临时表的操作么?

  1. 目前 TiDB 的 DDL 操作有两个队列,general queue 以及 add index queue,每个队列中的任务串行执行。20 个 truncate 操作会被分发到 general queue 中,并且串行完成。相关的文档见下述链接:
  1. 除 Truncate 外 Delete 也可以完成表数据的清理,但是后者会存在 MVCC 历史版本,即『高水位线』的问题,MVCC 版本的清理与 GC 设置有关,相关文档如下:

https://docs.pingcap.com/zh/tidb/stable/garbage-collection-overview/#gc-机制简介

https://docs.pingcap.com/zh/tidb/stable/garbage-collection-configuration

  1. 可根据当前业务评估采用哪种方式来清理数据。
1 Like