mysql 慢查询
慢查询记录执行时间超过某一时间的sql语句,默认不开启,开启后会影响数据库性能,一般在需要查询调优的时候开启
***************************
常用参数
slow_query_log = [ 0|1 ]:0表示关闭慢查询,1表示开启慢查询,参数也可写为slow-query-log的形式
slow_query_log_file = [ path/filename ]:慢查询日志的存储路径及文件名称,如果不设置,默认保存在数据库目录下,文件名为hostname-slow.log
long_query_time [ = 10 ]:执行时间超过该值时,在慢查询日志中记录
log_queries_not_using_indexes = [ 0 |1 ],或者on | off:未使用索引的查询也会被记录
log_output = [ file | table ]:日志输出格式,file表示输出到文件,table表示输出到表中
查看慢查询记录数:show status like "slow_queries";
***************************
慢查询分析工具
命令格式:mysqldumpslow [option] log
常用参数说明:
-s order:根据order排序,al平均锁定时间、ar平均返回记录数、at平均访问时间、
c表示sql语句的执行次数、l表示sql语句的锁定时间、
r表示返回的记录数、t表示查询时间
-r:表示倒序输出,最大的排在最后
-t num:输出前面的num个
-g pattern:正则匹配查询语句
示例