nuud1026
(Nuud1026)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】生产、测试都是4.08
【问题描述】
问题语句:
SELECT count(*) FROM cj_user_prize_log l INNER JOIN user_db.user u on l.userId=u.id where l.id>0\G;
在生产环境执行结果:
在测试环境执行结果:
导致这个问题的原因是生产环境的表有统计信息,测试环境没有,下面是生产环境表的统计信息:
这个语句有没有优化解决的方法
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
yilong
(yi888long)
4
测试环境和生产环境的网络带宽等资源是否一致 ? 目前 SQL 优化器会有一层是 成本优化,不同环境可能会有不同的执行计划,可以看一下这块的可能出现的情况,是否和你遇到的有相似性。
https://docs.pingcap.com/zh/tidb/stable/wrong-index-solution
winoros
(PingCAP-winoros)
10
看起来只有一个表被 analyze 了
可以看一下加了 hint 之后的 explain 吧
测试环境也可以先把两个表都analyze 了看看