慢查询分析

  • 先使用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
posted @ 2019-08-24 21:54  太虚真人  阅读(438)  评论(0编辑  收藏  举报