MySQLSQL优化:Percona优化器真的好吗?_MySQL

php中文网
发布: 2016-06-01 13:17:38
原创
1082人浏览过

这是mysql sql优化分享第2篇,大家都很崇尚mysql的一个强大分支percona,真该跟风吗?

有些时候,还是原配靠谱,小三不一定给力。我们先看下sar报告:明显地,CPU %idle 非常低,粗大事了。我们的告警邮件里显示,单条SQL执行时间长达 300秒左右。

原始SQL非常长,这里就不贴了,但要表述的一个优化技巧是,优化的第一步,就是格式化 SQL :-)

我们看下问题SQL的问题部分:

?

1

2

3

4

5

6

7

<font face="NSimsun">LEFT</font> <font face="NSimsun">OUTER</font> <font face="NSimsun">JOIN</font> `yy_game_info` `game` ON <font face="NSimsun">(`t`.`game_code`=`game`.`game_code`)</font>

<font face="NSimsun">LEFT</font> <font face="NSimsun">OUTER</font> <font face="NSimsun">JOIN</font> `yy_company_list` `corp` ON <font face="NSimsun">(`t`.`company_id`=`corp`.`company_id`)</font>

<font face="NSimsun">LEFT</font> <font face="NSimsun">OUTER</font> <font face="NSimsun">JOIN</font> `yy_sp_game_rel` `sp` ON <font face="NSimsun">(`t`.`sp_id`=`sp`.`sp_id`</font>

                                          AND <font face="NSimsun">`t`.`game_code`=`sp`.`game_code`)</font>

<font face="NSimsun">WHERE</font> <font face="NSimsun">(((t.game_code=game.game_code)</font>

        AND <font face="NSimsun">(t.company_id=corp.company_id))</font>

       AND <font face="NSimsun">(corp.is_open=1))</font>

虽然在MySQL中,过滤器ON和过滤器where的用法不同,但原则上我们不允许出现条件重复

但我们到主库执行,发现驱动表竟然走全表扫,郁闷。

查看版本时,我们发现:

魔术橡皮擦
魔术橡皮擦

智能擦除、填补背景内容

魔术橡皮擦 105
查看详情 魔术橡皮擦

备库的版本:5.5.22-log (MySQL原版)

这也引出一个问题,复制环境的主备版本最好一致,至少可以减少DBA troshoting的成本

看到了吧,小三未必盖得过原配

Good Luck!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号