tidb 如何查看分区的进度

tidb 如何查看分区的进度,admin show ddl jobs 只显示row_count ,并不显示具体执行到什么进度了

说实在的,不推荐用分区表

:flushed:为什么?踩过什么坑?

1 个赞

:thinking:是查看ddl执行的进度,还是每个分区执行ddl的进度,还是进行分区的进度?
如果是每个分区ddl执行的进度,感觉应该不是分区并行执行的。

DDL执行的进度,总体进度

分区表总体来说还是不错的功能,尤其是在高版本下。你这边不推荐用是什么场景呢?

在7.5.2的版本,例如按月分区的表,每次到月初,都是做收集统计信息的操作,会导致tidb的内存占用特别高

月初的时候做统计信息收集?这个触发的操作是脚本做的么?

这个其实是可以手动配置相关参数限制内存使用的,也可以进行采样操作,方法有不少,建议看看官网介绍。

TiDB 从 v6.1.0 开始引入了统计信息收集的内存限制,你可以通过 tidb_mem_quota_analyze 变量来控制 TiDB 更新统计信息时的最大总内存占用。

要合理地配置 tidb_mem_quota_analyze 的值,你需要考虑集群的数据规模。在使用默认采样率的情况下,主要考虑列的数量、列值的大小,以及 TiDB 的内存配置。

https://docs.pingcap.com/zh/tidb/stable/statistics/#统计信息收集的内存限制

2 个赞

这个是目前分区表跨月的bug,设置内存限制,收集统计信息这里也存在另外一个问题,就是收集失败之后,会一直重新收集统计,循环往复

个人建议推荐使用 按月份分区,提前写好1月份到12月分区。

1 个赞

我们之前的经验,如果是按月分区,提前建好半年的,如果是按天分区也提前建好90天,然后脚本定期去加新的分区,提前建好分区应该不会有这个问题。可以考虑看看。

1 个赞