首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行计划截然不同的MySQL主机和从机

执行计划截然不同的MySQL主机和从机
EN

Stack Overflow用户
提问于 2009-12-16 03:10:46
回答 3查看 1.9K关注 0票数 2

我有一个复杂的MySQL查询,它连接三个表,并将一个表自连接到自身。

有一个Master和Slave具有相同的数据和索引。与Slave相比,Master是一个功能强大的盒子,但是查询在Slave上的运行速度是Slave的10倍(在Master的轻载期间)。

执行计划有很大不同。

代码语言:javascript
复制
Master execution plan
1, 'SIMPLE', 'table3_', 'const', 'PRIMARY', 'PRIMARY', '12', 'const', 1, 100.00, 'Using temporary; Using filesort'
1, 'SIMPLE', 'table2_', 'ref', 'PRIMARY,FK376E02E910238FCA', 'FK376E02E910238FCA', '13', 'const', 105, 100.00, 'Using where'
1, 'SIMPLE', 'table0_', 'ref', 'FK57012F937DD0DC02,FK57012F9398CD28D0', 'FK57012F9398CD28D0', '13', 'table2_.ID', 1515, 100.00, 'Using where'
1, 'SIMPLE', 'table1_', 'eq_ref', 'PRIMARY,FKE7E81F1ED170D4C9', 'PRIMARY', '8', 'table0_.FK_ID', 1, 100.00, 'Using where'

Slave execution plan
1, 'SIMPLE', 'table3_', 'const', 'PRIMARY', 'PRIMARY', '12', 'const', 1, 100.00, 'Using filesort'
1, 'SIMPLE', 'table1_', 'ref', 'PRIMARY,FKE7E81F1ED170D4C9', 'FKE7E81F1ED170D4C9', '9', 'const', 187398, 100.00, 'Using where'
1, 'SIMPLE', 'table0_', 'ref', 'FK57012F937DD0DC02,FK57012F9398CD28D0', 'FK57012F937DD0DC02', '9', 'table1_.ID', 1, 100.00, 'Using where'
1, 'SIMPLE', 'table2_', 'eq_ref', 'PRIMARY,FK376E02E910238FCA', 'PRIMARY', '12', 'table0_.FK_ID', 1, 100.00, 'Using where'

表以不同的顺序处理,主DB使用临时表和文件排序,而从DB只使用文件排序。

是什么因素导致不同的计划具有如此巨大的执行时间?

更新:

这是否可能与索引统计有关?我计划在低容量期间在Master上运行ANALYZE表。SHOW INDEX显示了Master和Slave之间某些键的基数非常不同。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-16 03:44:40

MySQL根据收集的统计信息优化查询。

查看您的输出,您会发现它们使用了不同的键,您可能需要添加键提示,甚至是强制键

从table2_连接

应该变成

FROM table2_ USE KEY('FK376E02E910238FCA')联接

或强制键

票数 2
EN

Stack Overflow用户

发布于 2009-12-16 03:16:25

在我看来,这像是查询优化器中的一个bug。我会report it的。

两台服务器是否在同一版本的MySQL上?

票数 0
EN

Stack Overflow用户

发布于 2021-01-20 13:58:14

显示索引显示主和从之间的一些键的基数非常不同。

我遇到了同样的问题,我发现原因是:基数不同。然后我运行分析表,基数是相同的,问题已经消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1909653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档