内部analyze table的频率是?

现在自动已经是running状态了,也不敢kill,等等,再失败我就关闭自动,然后手工试试

:+1:

您们这个 gc的设置的时间是多长?? 我看下!

有什么影响吗?
image

select * from mysql.analyze_jobs; 执行下这个我看下

select * from information_schema.ANALYZE_STATUS; 也发下

analyze 回收的话, GC时间不够也无法完成回收的。 您这配置的是10分钟

select * from mysql.analyze_jobs; 执行下这个我看下

select * from information_schema.ANALYZE_STATUS; 也发下
结果见附件
status.txt (32.3 KB)

这个要改成多久720h吗?

image

这个值 我是根据报错来的 。 不要调成那么大, 不然数据库垃圾数据很多。
您的表数据量多大呢 ???

我这 20亿数据是3H, 您哪里37亿或者更多的话,估计时间更长,还得看性能

我这执行时间会超过3天,目前来看,需要改成3天吗?

你这是手工执行的吗?我这是80多亿数据

show admin ddl jobs 。 看看有什么内容不?

jobs.txt (2.5 KB)
这是相关结果

80多亿,的确是个头疼的事情啊 。
您这个表做分区了没 ???

什么也没有,就是个历史数据,而且我这个是系统触发的analyze

您把这些参数调整了没 ?? analyze的并行度。
https://docs.pingcap.com/zh/tidb/stable/statistics#tidb_distsql_scan_concurrency

一定要监控下CPU,内存,防止告警或OOM

我看到了,你发的是手工触发的并发参数,目前我这是auto的,对应值是1,如图:

auto 的我不敢kill,怕有啥影响,目前看看我不限制时间了,能否完成次次analyze table

10点开始到您给我发的, 才12亿数据,。 80亿的话, 可能很久。您计算下

您以前12个小时 37亿数据, 感觉还是 Kill 掉, 进行手工收集吧。

这个可以kill 掉吗?没这么干过,怕出问题