tidb oom重启都要analyze所有表

tidb oom重启都要analyze所有表?现在tidb只有一个节点,怎么做到重启不需要analyze所有表

可以把 tidb_enable_auto_analyze参数修改为off,关闭自动收集统计信息
但理论上oom导致tidb重启,不应该会重启所有的analyze任务

可以早晚都要analyze呀,要不执行计划不准

没有碰到过重启tidb oom,重启分析所有表的情况,你可以暂时关闭tidb_enable_auto_analyze,分析操作系统日志,分析具体的sql看是引起oom的的真正原因

1.查看tidb日志确定时间点
grep ‘risk os OOM’ tidb.log

2.确认具体的sql语句,比如2023-07-12使用内存超过1G的sql
grep -i ‘mem_max’ tidb_slow_query-2023-07-12T01-58-23.006.log |awk -F ‘:’ ‘{if($2 > 1036900000) print $2}’

3.做相应的sql优化调整

4.查看是具体的那个表在做表分析,是不是需要手动表分析

目前只有一个tidb节点一个机器上,tikv和pd部署在三台机器上

我也觉得是,但每次重启都要手动去触发表的统计信息,不然查询计划乱了

现在是自动

嗯,我试下

你是不是关闭了统计持久化,可以参考下:

搞了两个tidb节点这个问题就没出现了