慢查询分析

Posted oklizz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了慢查询分析相关的知识,希望对你有一定的参考价值。

  • 先使用orm, 后期使用慢查询工具找出慢查询的sql语句, 改变对应的orm操作
# 在mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]中配置懒查询   
slow_query_log = ON  # 是否已经开启慢查询
long_query_time = 1  # 慢查询统计标准, 超过1秒
slow_query_log_file = /usr/local/mysql/data/zzz-slow.log  # 慢查询日志文件路径
log_queries_not_using_indexes = 1  # 如果值设置为ON,则会记录所有没有利用索引的查询(性能优化时开启此项,平时不要开启)

# 重启mysql
sudo /etc/init.d/mysql restart

# 查看懒查询启动情况
show variables like '%slow%';
show variables like '%long_query_time%';

# 懒查询分析工具 mysqldumpslow
# -s:排序方式 c 查询次数  t 查询时间  l 等待锁的时间  r 返回的记录数  at 平均查询时间
# -t:返回前面多少条的数据;
# -g:包含什么,大小写不敏感的;

# 返回记录中查询次数最多的10个语句
sudo mysqldumpslow -s c -t 10 /usr/local/mysql/data/zzz-slow.log    

# 返回记录中含有"user”, 并按照平均查询时间排序最慢的前10条语句
sudo mysqldumpslow -s at -t 10 -g "select" /usr/local/mysql/data/zzz-slow.log

以上是关于慢查询分析的主要内容,如果未能解决你的问题,请参考以下文章

一分钟快速搞懂Redis的慢查询分析

MySQL慢查询 - pt-query-digest详解慢查询日志 pt-query-digest 慢日志分析

linux下开启mysql慢查询,分析查询语句

慢查询分析

一篇文章快速搞懂Redis的慢查询分析

Redis-慢查询分析