【TiDB 使用环境】生产环境
【TiDB 版本】v6.5.2
【操作系统】
【部署方式】机器部署(什么机器配置、什么硬盘)
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
如题,我的理解 SHOW ANALYZE STATUS应该在tidb_auto_analyze_start_time,tidb_auto_analyze_end_time区间运行,但是现在没有,看了历史监控,这个区间从来就没有任务运行
请帮忙解答疑惑
小龙虾爱大龙虾
(Minghao Ren)
2
会话时区对吗?,把会话时区设置成+7 再查
set session time_zone='+07:00';
select * from mysql.analyze_jobs order by start_time desc limt 3\G
asmile
(TiDBer 叶明)
3
你这不仅是没在这个区间执行,而且是没有执行统计信息收集吧,我看监控连续好几天都是一条直线,这说明你的集群根本没触发统计信息收集的条件。
zhanggame1
(Ti D Ber G I13ecx U)
4
你测试下新建个表,插入几万条数据看看啥时候开始分析
nobody
(不定时出现)
5
你这个是 analyze 分区表任务的子任务,收集分区的统计信息。
有可能是 start end 区间里对分区表执行了 analyze ,然后 tidb 自动逐个分区收集统计信息,一直执行到 start end 区间之外的时间段。
正常来说 analyze 任务受 tidb_max_auto_analyze_time
参数控制最大执行时间,但是这个场景因为单个分区的收集任务都相对较多,所以不受影响。 