mysql优化

1. 查询效率低的sql语句

 通过慢日志查询,通过processlist查看执行时间长的sql语句

2. explain分析执行计划

查询到效率低的sql语句后,可通过explain命令获取mysql如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的是顺序。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.show profile分析sql

mysql从5.0.37版本开始增加了对show profiles和show profile语句的支持。show profiles能够在做sql优化时帮助我们了解时间耗费到哪里去了。

//通过hava_profiling参数,能够看到当前sql是否支持profile
select @@hava_profiling;
set profiling=1; 开启profiling开关

在这里插入图片描述
在这里插入图片描述

4. trace分析优化器执行计划

mysql5.6提供了对sql的跟踪trace,通过trace文件能进一步了解为什么优化器选择a计划,而不是b计划。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5索引优化

索引优化时最常用也是重要的手段之一,通过索引通常可以解决用户大多数mysql性能优化问题。

  • 避免索引失效应用,全职匹配,索引字段顺序无关,mysql内部优化器会优化字段顺序
  • 在这里插入图片描述
  • 避免索引失效应用,最左前缀法则
    在这里插入图片描述
    在这里插入图片描述
  • 避免索引失效应用,其他匹配原则
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    与存储数据的重复度有关
    在这里插入图片描述

sql优化

大批量插入数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 优化insert
  • 在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 优化order by语句
  • 在这里插入图片描述
    order by后边的多个排序字段要求尽量排石方式相同,字段顺序尽量和组合索引字段顺序一致

在这里插入图片描述

  • 优化子查询
  • 在这里插入图片描述
    在这里插入图片描述
  • 优化limit查询
  • 在这里插入图片描述
    思路一,用主键索引查询,关联查询也是主键索引,所以效率更高
    思路二,

黑马学习整理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值