Case:MySQLFederated存储引擎引起的慢SQL优化

这个案例并不是我遇到的,但是我的工作生产环境中有使用到federated存储引擎,所以记录一下。

创新互联公司-专业网站定制、快速模板网站建设、高性价比嵊州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式嵊州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖嵊州地区。费用合理售后完善,十多年实体公司更值得信赖。

优化前

有一条SQL部分截取内容如下,执行约268秒才能出结果:

Case:MySQL Federated存储引擎引起的慢SQL优化

优化后

从这条SQL的执行计划中可以看出来mego.trade_order并没有出现在table列中,经查看,mego.trade_order是一个Federated存储引擎,类似Oracle的DBlink,在本地只是个链接的形式存在,实际数据文件并不存在。

所以mego.trade_order表作为一个subquery效率非常差,可以改写成join的方式,去掉subquery,让mego.trade_order表尽量第一个前面的结果join,减少去远程服务器取数据的次数,优化如下,优化过后只需要0.74秒

Case:MySQL Federated存储引擎引起的慢SQL优化

有关Federated存储引擎参考链接

https://dev.MySQL.com/doc/refman/5.5/en/federated-storage-engine.html


标题名称:Case:MySQLFederated存储引擎引起的慢SQL优化
本文链接:http://pwwzsj.com/article/gpgicc.html