TIDB 手动触发analyze table报错

【 TiDB 使用环境】生产环境
【 TiDB 版本】V6.5.8
【遇到的问题:问题现象及影响】 ERROR 1105 (HY000): Fast analyze hasn’t reached General Availability and only support analyze version 1 currently

https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_enable_fast_analyze
确认下这个值,如果是on,建议关闭试试。

1 个赞

是升级过的集群,还是直接部署的6.5.8?

1 个赞

你的 tidb_analyze_version 设置的多少? 这个报错很明显了。only support analyze version 1 currently

1 个赞

有相同的帖子,可以参考 TiDB-v5.3.1 中 analyze table 报错:ERROR 1105 (HY000)

设置了2

看报错就是 fast analyze 这个优化和 Analyze version 有兼容问题,要么关掉 fast Analyze。要么用 version 1。

应该是不太兼容啊,我看提示后期版本废弃了

从 v7.5.0 开始,该变量被废弃。

  • 作用域:SESSION | GLOBAL
  • 是否持久化到集群:是
  • 是否受 Hint SET_VAR 控制:否
  • 类型:布尔型
  • 默认值:OFF
  • 这个变量用来控制是否启用统计信息快速分析功能。默认值 0 表示不开启。
  • 快速分析功能开启后,TiDB 会随机采样约 10000 行的数据来构建统计信息。因此在数据分布不均匀或者数据量比较少的情况下,统计信息的准确度会比较低。这可能导致执行计划不优,比如选错索引。如果可以接受普通 ANALYZE 语句的执行时间,则推荐关闭快速分析功能。

官方文档,从v7.5.0版本,已经把这个参数废弃了。v6.5.x版本,查看参数,调整为1,应该可以执行analyze table进行统计分析。

学习了

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