欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySql数据库优化,

程序员文章站 2022-03-24 13:00:35
查看是否开启慢查询日志 查看变量设置情况 我们要记录未使用索引的查询就要把变量设置为ON 用以下命令设置 再确认慢查询时间的变量情况 把慢查询日志设置为开启状态 下面演示如下: 记录的位置如下图所示 查看执行的sql语句是否记录在了日志文件中 下图是慢查询日志文件记录的sql语句 慢查询日志的存储格 ......

MySql数据库优化,

MySql数据库优化,

MySql数据库优化,

 

 MySql数据库优化,

 

 MySql数据库优化,

查看是否开启慢查询日志

MySql数据库优化,

查看变量设置情况

MySql数据库优化,

MySql数据库优化,

我们要记录未使用索引的查询就要把变量设置为on 用以下命令设置

 MySql数据库优化,

再确认慢查询时间的变量情况

MySql数据库优化,

把慢查询日志设置为开启状态

MySql数据库优化,

下面演示如下:

MySql数据库优化,

记录的位置如下图所示

MySql数据库优化,

查看执行的sql语句是否记录在了日志文件中

MySql数据库优化,

下图是慢查询日志文件记录的sql语句

MySql数据库优化,

慢查询日志的存储格式

MySql数据库优化,

MySql数据库优化,

 

 

mysql慢查日志分析工具之mysqldumpslow

 MySql数据库优化,

查看下工具可使用的参数

MySql数据库优化,

用工具查看慢查询日志记录的 前三条 用more查看

MySql数据库优化,

查看结果如下

MySql数据库优化,

MySql数据库优化,

mysql慢查日志分析工具之pt-query-digest(第二款工具)

 MySql数据库优化,

查看pt-query-digest工具参数情况

MySql数据库优化,

演示分析上述日志文件

MySql数据库优化,

分析

MySql数据库优化,

 

如何通过慢查日志发现有问题的sql 

 MySql数据库优化,

通过explain查询和分析sql的执行计划

MySql数据库优化,

 MySql数据库优化,

MySql数据库优化,

下面用具体例子分析慢查询以及优化

count()和max()的优化

MySql数据库优化,

MySql数据库优化,

上面看到sql语句执行要扫描15422行,这严重占用io,下面我们创建一个索引来提高性能

MySql数据库优化,

再来看下执行计划

MySql数据库优化,

 在看下count()如何优化的例子

MySql数据库优化,

下面是正确的查询方式

MySql数据库优化,

 

 演示执行效果

MySql数据库优化,

 

子查询的优化

 MySql数据库优化,

MySql数据库优化,

通常我们优化成join的方式

 MySql数据库优化,

当表之前出现1对多的关系的时候有可能会出现重复,所以要去重

MySql数据库优化,

group by的优化

 MySql数据库优化,

以上查询会出现对临时表的查询操作,我们把它优化成如下图情况 (执行explain来查看执行计划)

MySql数据库优化,

 limit查询的优化

 MySql数据库优化,

看下上面sql语句的执行计划

MySql数据库优化,

上面sql执行计划结果中采用表扫描的方式扫描了1030行,我们进行如下优化看下

MySql数据库优化,

看下执行计划

MySql数据库优化,

上图使用了主键key:primary和索引type:index查询,

接下来我们进一步优化

MySql数据库优化,

 

看下执行计划

MySql数据库优化,

上面执行计划中我们可以看到只扫描了5行,这样就大大提高了sql执行效率

 

如何选择合适的列建立索引

 MySql数据库优化,

 索引优化sql的方法 

MySql数据库优化,

MySql数据库优化,

 

 MySql数据库优化,

用工具查重复和...索引,输入命令如下图红框

MySql数据库优化,

MySql数据库优化,

查看结果

MySql数据库优化,

 原文地址:https://www.cnblogs.com/zmdComeOn/p/10316998.html