位置: 编程技术 - 正文
推荐整理分享MySQL开启慢查询日志log-slow-queries的方法(mysql5.7慢查询),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql5.7慢查询,mysql数据查询慢,mysqlsum查询慢,mysql 慢sql查询,MySQL开启慢查询日志,MySQL开启慢查询,MySQL开启慢查询日志,MySQL开启慢查询,内容如对您有帮助,希望把文章链接给更多的朋友!
一个普通WEB站点的页面常常需要查询N条SQL语句后才能得出页面结果,当网站访问速度慢而前端做了大量优化工作以后,数据库瓶颈的查找也是WEB优化的一个重要部分。 MySQL中提供了一个慢查询的日志记录功能,可以把查询SQL语句时间大于多少秒的语句写入慢查询日志,日常维护中可以通过慢查询日志的记录信息快速准确地判断问题所在。
开启慢查询功能
log-slow-queries 慢查询日志文件路径long_query_time 超过多少秒的查询就写入日志
打开my.cnf配置文件,加入以下代码:
log-slow-queries = /tmp/mysql-slow.loglong_query_time = 2
如果是windows则在my.ini中加入
my.ini
保存退出,重启MySQL即可。关于long_query_time设置通常我们设置long_query_time的值为2,表示查询SQL语句超过两秒的就记录,通常2秒就够了,默认是秒。然而,对于许多WEB程序来说,2秒的查询还是太长了。的确在许多站点中,一个SQL语句超过1秒的执行时间都算慢的了。mysql5.1.以后才提供更细粒度的long_query_time设定,之前的版本只能以秒做单位。
查看日志
第一行:执行时间第二行:执行用户第三行(重要):
Query_time SQL执行的时间,越长则越慢Lock_time 在MySQL服务器阶段(不是在存储引擎阶段)等待表锁时间Rows_sent 查询返回的行数Rows_examined 查询检查的行数
最后
1、日志不能说明一切问题,知识表象,可能跟锁表、系统繁忙的偶发性有关,当然,如果某条SQL语句经常查询慢那基本可以判断是可以再次优化的。2、不要开启log-queries-not-using-indexes没有索引查询记录功能,这个功能实际用处不大。就是记录SQL查询的时候,没有索引的通通记录。虽然索引对查询的速度有影响,但要看数据量大小。因为开启了这个功能以后,select * from tab这样的查询也会被记录在日志中,很快日志文件就会被垃圾信息给充满,从而影响主要的查询慢日志记录的查看。3、MySQL自带了mysqldumpslow工具用来分析slow query日志,或者其它工具也可以,通过工具配合可以更好的分析。
mysql 5.5 开启慢日志slow log的方法(log_slow_queries) 1.MySQL5.5命令行里面setgloballog_slow_queries=on;#开启慢日志set[session|global]long_query_time=0.2#设置时间.精确的毫秒setgloballog_queries_not_using_indexes=on;#设置无索引的
MySql判断汉字、日期、数字的具体函数 几个平常用的mysql函数,MySql判断汉字、日期、数字的具体函数分享给大家,具体内容如下1.判断字符串是否为汉字返回值:1-汉字0-非汉字DROPFUNCTIONIFEXIST
MySQL ERROR (): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法 MySQLERROR():Accessdeniedforuser'root'@'localhost'(usingpassword:NO)的解决办法和原因这两天下载了MySQL5.7.进行安装,发现到了初次使用输入密码的时候,不管
标签: mysql5.7慢查询
本文链接地址:https://www.jiuchutong.com/biancheng/347222.html 转载请保留说明!上一篇:MySQL数据库分区功能的使用教程(mysql数据库分区查询)
下一篇:mysql 5.5 开启慢日志slow log的方法(log_slow_queries)(mysql source 慢)
友情链接: 武汉网站建设