- 这里首先看了下 explain analyze 结果,看到慢在最内 3 层的 join 上 (m join d) join taskd
- 然后对比了下 mysql 的执行计划,发现 mysql 最内的 3 层的 join 是 (m join d) join taskm, 所以我就把这 4 张表单独提出来,把 2 种 join 顺序都让你试了下
- 然后发现修改顺序后,join 的时间能减少但是和 mysql 差距还是很大,因此又看了下,发现 taskd 上使用的索引不一样,所以使用了 use index 来强制走了下索引
综上,相对于原 sql ,做了 2 个优化
- 把 taskd 和 taskm 在 sql 中换了个顺序
- 给 taskd 加了个 use index 强制走指定索引
非常感谢!!
这里提到的对几张表导出统计信息,能麻烦方便时候 analyze 后再导一份出来吗?我们看下对这个情况做下优化
好的,谢谢
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。