left join连表查询count操作时,有无order by 性能差距很大

第二个执行计划更优,实际上left join 对count的话,第一个表就足够了,第一个执行计划实际多了一步对第二个表的扫描,所以时间长了。问题就是使用order by 后(虽然没有意义)使得生产了更好的执行计划。
如果Optimizer Trace: 开发好了的话可能能看出来是什么原因导致优化器没有选到正确的执行计划
Optimizer Trace: 用于收集和监控优化器内部优化逻辑流程,提升用户现场的问题诊断能力和效率,并为后续的基于诊断监控的反馈优化提供数据输入;
我觉得解决方法就是用 执行计划绑定 (SQL Binding)
执行计划管理 (SPM) | PingCAP 文档中心