MySQL性能优化方案总结

可以从以下几个方面对MySQL进行优化,
效果: SQL和索引 > 数据库表结构 > 系统配置 > 硬件
但成本从低到高。

1.SQL和索引优化
1.1SQL
1.1.1优化SQL语句的一般步骤:

①通过show status 命令了解各种SQL的执行效率,

show [session | global] status;

可以根据需要加上参数来显示session级(当前连接,默认)和global级(自数据库上次启动至今)的统计结果。
eg:

 show status like 'Com_%';

显示当前连接所有统计参数的值。
Com_xxx表示每个xxx语句执行的次数,通常需要注意的是下面几个参数:
Com_select/Com_insert/Com_update/Com_delte。

②定位执行效率较低的SQL语句
·通过show processlist命令实时查看当前SQL的执行情况;
·通过慢查询日志(结束以后记录)定位出现的问题。

③通过explain 或 desc分析低效SQL的执行计划
select_type(simple/primary/union/subquery)/table/type/possible_keys/key/key_len/rows/extra

④通过show profile 分析SQL
show profile 能帮我们了解时间都耗费到哪里去了。
MySQL从5.0.37版本开始增加了show profile和show profiles语句的支持,
通过secect @have_profiling命令能够看到当前MySQL是否支持profile,
通过show profiles我们能够更清楚了解SQL执行的过程,
通过show profile for query我们能看到执行过程中线程的每个状态和消耗的时间。

⑤通过trace分析优化器如何选择执行计划
MySQL5.6提供

  • 8
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值