MySQL性能分析与优化

对SQL查询语句进行执行性能分析:

1、set profiling=1;  开启性能统计

2、show profiles;  显示统计结果


3、show profile for query 1;   显示具体的统计结果   具体每个步骤的精确耗时

如果是root用户,可以直接查看information_schema的PROFILING表,可以看到每步具体对应于源码的哪一行。


基本上耗时的在Sending data上,这步官方说是在磁盘执行查找数据的过程,优化就是尽量走索引,一全表扫就慢。

对表进行优化(磁盘整理):


红色标记的是优化的SQL,目的是整理磁盘中的文件,紫色标记的是优化前后的对比。


show table status;  查看表的一些状态参数   Avg_row_length  行平均大小   Row_format    Rows
show processlist;   查看正在执行的操作(看哪些阻塞)

执行计划分析SQL(看有没有走索引、where等):

explain  出现 Using filesort 原因是order没有使用索引,使用了外部的文件排序,这也会影响性能,可以增加复合索引


MySQL中复合索引中列的顺序对性能的影响(原英文):
Reorganizes the physical storage of table data and associated index data, to reduce storage space and improve I/O efficiency 
when accessing the table. The exact changes made to each table depend on the storage engineused by that table.(大致意思:减少了磁盘IO操作,提高性能)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值