慢查询分析
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
以上是关于慢查询分析的主要内容,如果未能解决你的问题,请参考以下文章