慢查询:查询语句的执行速度超过定义的时间(不同系统下定义的指标也不同)
慢查询开启:
在/etc/my.cnf,[mysqld]域中添加
开启慢查询:slow_query_log=1
慢查询路径:slow_query_log_file=/data/mysql/slow.log
慢查询时长:long_query_time=1
将未使用索引的查询也记录到慢查询日志中:long_queries_not_using_indexes=1
慢查询日志分析(mysqldumpslow)
-s:表示按照何种方式排序
-s后接其他参数:
c:访问计数
l:锁定时间
r:返回记录
t:查询时间
al:平均锁定时间
ar:平均返回记录数
at:平均查询时间
-t:top n,返回前几条的数据
-g:后面跟正则匹配,大小写不敏感
命令实例:
1、得到返回记录集最多的10条数据
mysqldumpslow -s r -t 10 slow.log
2、按照时间排序的前10条里面有左连接的查询语句
mysqldumpslow -s t -t 10 -g "left join" slow.log