考官考点
查找分析查询速度慢的原因
优化查询过程中的数据访问
游湖长难的查询语句
游湖特定类型的查询语句
分析SQL查询慢的方法
记录慢查询日志
分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和经理,可以使用pt-query-digest工具进行分析
是作为我们的一个计数器
观察不正常的进程
explain,非常重要,他可以帮我们肥西单条语句。
查询的行数等等
优化查询过程中的数据访问
访问太多数据导致查询性能下降
确定应用程序是否在检索大量超过需要的数据,可能是太多行或列
避免使用如下SQL语句
查询不需要的记录,使用limit解决
重复查询相同的数据,可以缓存数据,下次直接读取缓存。
比如,我只需要5行数据,但是却扫描了200行数据,,剩下的数据就白扫了。
加索引,就能解决这个问题
如果我是第三范式,我经常查 连表查询,我可以把一个表,冗余到另一个表里面。。。
可以用空间来换取我们的时间
所以,不要使用 count(列名)
没有索引,一定要建立索引。
先定位,,那些SQL语句,会比较慢,根据前面的四种方案,
查询日志
show profile
show processlist
show status
explain
先从索引的监督考虑,索引没问题的话,
再从数据访问的角度来分析,