5.4MySQL查询优化考点

Paste_Image.png

考官考点
查找分析查询速度慢的原因

优化查询过程中的数据访问
游湖长难的查询语句
游湖特定类型的查询语句

分析SQL查询慢的方法
记录慢查询日志
分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和经理,可以使用pt-query-digest工具进行分析

Paste_Image.png
Paste_Image.png
Paste_Image.png

是作为我们的一个计数器

Paste_Image.png

观察不正常的进程

explain,非常重要,他可以帮我们肥西单条语句。

查询的行数等等


Paste_Image.png
Paste_Image.png

优化查询过程中的数据访问

访问太多数据导致查询性能下降
确定应用程序是否在检索大量超过需要的数据,可能是太多行或列

避免使用如下SQL语句
查询不需要的记录,使用limit解决

Paste_Image.png

重复查询相同的数据,可以缓存数据,下次直接读取缓存。

Paste_Image.png

比如,我只需要5行数据,但是却扫描了200行数据,,剩下的数据就白扫了。

加索引,就能解决这个问题

Paste_Image.png

如果我是第三范式,我经常查 连表查询,我可以把一个表,冗余到另一个表里面。。。
可以用空间来换取我们的时间

Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

所以,不要使用 count(列名)

Paste_Image.png
Paste_Image.png

没有索引,一定要建立索引。

Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

先定位,,那些SQL语句,会比较慢,根据前面的四种方案,
查询日志
show profile
show processlist
show status

explain

先从索引的监督考虑,索引没问题的话,
再从数据访问的角度来分析,

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容