【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.5
【复现路径】TiDB集群迁移 使用br进行数据迁移
【遇到的问题:问题现象及影响】迁移后旧集群和新集群两张相同的表的执行计划不一致
表字段 索引 都是一样的
旧集群的执行计划
新集群的执行计划
【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.5
【复现路径】TiDB集群迁移 使用br进行数据迁移
【遇到的问题:问题现象及影响】迁移后旧集群和新集群两张相同的表的执行计划不一致
表字段 索引 都是一样的
旧集群的执行计划
看起来新版 offset 搞得时候,会将排序去掉前面数据放在 tikv 做了。
很难说这个哪个更好。
现在新旧集群版本是一样的 旧集群是从低版本升级到6.5.5 新集群是直接安装的6.5.5 主要是比较疑惑为什么相同的SQL查询 一个是IndexFullScan 一个是IndexRangeScan
看下两个集群的 tidb_cost_model_version
系统变量值
对啊 我理解是因为排序不在 tidb 做,要下推到 tikv 做导致的。
需要扫整个 index
旧集群变量值是1 新集群变量值是2
麻烦问下这个可以调整吗?
技术可以调整,但建议从应用角度评估下,设置为哪个值对实际性能更友好
没啥大影响你就先别动了,另外 6.5.11 马上快发布了,修复了很多 bug ,看看是不是考虑升级下
1
:使用 Cost Model Version 1 代价模型。TiDB v6.4.0 及之前的版本默认使用 Cost Model Version 1。2
:使用 Cost Model Version 2 代价模型。TiDB v6.5.0 正式发布了代价模型 Cost Model Version 2,在内部测试中比 Version 1 版本的代价模型更加准确。好的 谢谢
要不加个 hint 改下 index 使用🤔。
我估计 你 use_index(ACT_IDX_HI_ACT_INST_PROCINST) 就好了。
好的 谢谢
好的 谢谢您的建议
好的 谢谢 刚才参考楼上调整了下 tidb_cost_model_version 执行计划已经一致了
感谢! 刚才调整了一下 tidb_cost_model_version 系统变量值 执行计划已经与旧集群一致 业务接口速度也有明显提升。
感谢各位 问题已解决
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。