tidb_auto_analyze_end_time和 tidb_auto_analyze_start_time 时间设置问题

目前我这配置如下:


系统时区:

mysql使用的时区:

上图上,我已经配置了只有0点到7点自动更新。为啥慢查询里面还能看到analyze语句,在非0点到7点之间,是不是应该把配置:+0800 换成+0000

选择列,把执行用户名调出来看看,如果是空的,才是自动分析。
还有个是否为内部sql查询也勾上。

是系统自动分析的,时间设置应该这么设置的:


咨询官方给的答复,后续确认一下。

1 个赞


嗯,UTC时间比北京时间慢8小时。所以需要计算切换一下

1 个赞

好的。感谢

你的问题解决了吗,我没看懂。你之前设置的参数不就是+08区的0~7点收集统计信息吗,改了后不还是+08区吗

问题是解决了,+08区,起始时间是16:00,不是之前的00:00了,按16:00计算,+8之后是0点。是这么计算的

:rofl: :rofl: :rofl:是这么计算的吗 :rofl: :rofl: :rofl:,最好再确认下吧


我想问下你这个是分区表吗


utc时间就是这么算的

你的时间也不是utc啊,你不是cst吗?收集时间设置00:00 +0800到07:00 +0800这不是从早上0点到7点吗?你10点钟有analyze语句应该是手工执行的吧。。。

1 个赞


根据官方文档以及楼主最开始的配置,我理解TiDB应该在北京时间0~7点的窗口内执行统计信息收集任务,但是实际上从慢查询中看到有在北京时间10:07分结束执行的analyze语句,执行时间43分钟,sql语句开始时间在9点多,并且楼主确认是又自动统计信息自动发起的,所以不符合窗口设置

自动统计信息收集最大执行时间受参数 tidb_max_auto_analyze_time限制,我记得有个bug,对分区表可能不能正确限制,会导致窗口外还有analyze语句发起的情况出现(PS:都是我的猜测)

这是系统时区设置造成的混乱

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。