一个非常简单的SQL耗时16分钟,但查看“执行时间”,看不到具体时间消耗在哪里,sql:ANALYZE TABLE XXX

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【 TiDB 使用环境】
正式环境
【概述】 场景 + 问题概述
集群突然间比较慢,通过查看慢日志,发现很奇怪的SQL,只是ANALYZE一个,就消耗十几分钟
其执行时间如下:

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】
5.2.1
【应用软件及版本】

【附件】 相关日志及配置信息

  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息

监控(https://metricstool.pingcap.com/)

  • TiDB-Overview Grafana监控
  • TiDB Grafana 监控
  • TiKV Grafana 监控
  • PD Grafana 监控
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

这个是tidb的自动收集统计信息吧,可以通过参数设置白天不进行自动收集

确实可以设置不自动收集,但这个治标不治本的,我想找个具体的原因是啥

和表的数据量有关,如果想加快速度 可以调整参数,可能会影响集群

好的,感谢感谢

这个是挺消耗资源的,可以设置在别在高峰期进行,能明显降低资源的消耗

2个方法
1 指定analyze时间 避开高峰期
set global tidb_auto_analyze_start_time=‘01:00 +0000’;
set global tidb_auto_analyze_end_time=‘01:00 +0000’;
2 用分区表。执行分区

你这看不到执行结果是因为sql还没运行完 被canel了

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。