SQL查询执行计划偶发出现未使用到索引的情况

  • 【TiDB 版本】:v2.1.8
  • 【问题描述】: 最近发现同样一个sql查询在先后不同的两个时间点运行查询,其中一个时间点执行计划使用到了索引,另一个时间点执行计划却未使用到,而这两次都是相同SQL针对的目标表也都一样。请问什么因素影响导致出现了这样的差异?

你好,

目前数据库版本降低,建议升级至 3.0 (3.0.13)进行使用,3.0 对统计信息做了很多的优化。

目前 tidb 的查询计划是根据统计信息来完成的,统计信息收集间隔越短,执行计划越准确。

统计信息分为 手动收集自动收集 ,可以看下面的链接学习设置下。

但是不建议将统计信息收集设置的太过频繁,以免对系统造成影响

好的,多谢!

ok~