mysql慢查询
慢查询:就是记录执行时间较长的query,也就是我们常说的slowquery,通过设--log-slow-queries[=file name]来打开该功能并设置记录位置和文件名。不指定的话系统活默认指定一个 host_name_slow.log 慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容 。其中记录了语言执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息 Mysql还提供了专门来分析慢查询日志的工具程序 mysqlslowdump,用来帮助数据库管理人员解决可能存在的性能问题 配置mysql慢查询 第一种: 配置文件中配置: • 在mysql配置文件my.cnf中增加:log-slow-queries=/opt/data/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log) long_query_time=2 (记录超过的时间,默认为10s) log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启) •Windows: •在my.ini的[mysqld]添加如下语句: log-slow-queries = E:\web\mysql\log\mysqlslowquery.log long_query_time = 2(其他参数如上) 重启服务 第二种执行命令: •set global slow_query_log=on; •set global long_query_time=1;#设置记录查询超过多长时间的sql •set global slow_query_log_file=‘/opt/data/slow_query.log’;#设置mysql慢查询日志路径,此路径需要有写权限 •这种方式不用重启mysql服务。 •SHOW VARIABLES LIKE '%query%'; •使用这个语句可以看到当前mysql慢查询是否开启,以及mysql的慢查询日志文件在哪。 •slow_query_log #是否开启慢查询 •slow_query_log_file #日志的存放位置 •long_query_time #超过多少秒的查询就写入日志
不深思则不能造于道。不深思而得者,其得易失。