Mysql慢查询使用及参数详解
发布时间:2022-06-30 03:44:39 所属栏目:MySql教程 来源:互联网
导读:慢查询是mysql中一个非常重要的日志了,我们可以通过mysql慢查询日志来分析具体导致mysql查询慢的原因与sql语子,下面就和小编来简单的学习一下. 慢查询为系统中查询时间超过long_query_time的值,分析慢查询是优化SQL的基础,默认清下Mysql慢查询为关闭状态,
慢查询是mysql中一个非常重要的日志了,我们可以通过mysql慢查询日志来分析具体导致mysql查询慢的原因与sql语子,下面就和小编来简单的学习一下. 慢查询为系统中查询时间超过long_query_time的值,分析慢查询是优化SQL的基础,默认清下Mysql慢查询为关闭状态,可以通过: show variables where Variable_name = 'log_slow_queries'; 来查看是否开启,如果为OFF则需要修改mysql配置文件,在mysqld下面增加以下参数. #慢查询日志地址,需要mysql运行帐号对该目录有写权限 log-slow-queries="/log/slow.log" #当query语句大于2s时记录慢查询日志 long_query_time=2 #没有使用索引的query也计入慢查询日志(可根据情况增加) log-queries-not-using-indexes mysql运行状态和变量查看 通过查看mysql的status和variables来优化mysql 1、慢查询配置,未打开的情况下建议打开,可发现系统中的慢查询语句以及慢查询的条数. mysql> show variables like '%slow%' +---------------------+-----------------------------+ | Variable_name | Value | +---------------------+-----------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /alidata/log/mysql/slow.log | +---------------------+-----------------------------+ 4 rows in set (0.00 sec) --phpfensi.com mysql> show global status like '%slow%'; +---------------------+-------+ | Variable_name | Value | +---------------------+-------+ | Slow_launch_threads | 4 | | Slow_queries | 3 | +---------------------+-------+ 2 rows in set (0.00 sec) 2、连接数查看,max_connections为允许的最大连接数,Max_used_connections 系统中出现过的最大连接数,据说理想的设置是. Max_used_connections / max_connections * 100% ≈ 85% mysql> show variables like '%connections%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | max_connections | 2000 | | max_user_connections | 0 | +----------------------+-------+ 2 rows in set (0.00 sec) mysql> show global status like '%connections%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Connections | 35049 | | Max_used_connections | 12 | +----------------------+-------+ 2 rows in set (0.00 sec) 说明: queries total:总查询次数 unique:去重后的sql数量 sorted by:输出报表的内容排序 最重大的慢sql统计信息,包括 平均执行时间,等待锁时间,结果行的总数,扫描的行总数. Count,sql的执行次数及占总的slow log数量的百分比. Time,执行时间,包括总时间,平均时间,最小,最大时间,时间占到总慢sql时间的百分比. 95% of Time,去除最快和最慢的sql, 覆盖率占95%的sql的执行时间. Lock Time,等待锁的时间. 95% of Lock,95%的慢sql等待锁时间. Rows sent,结果行统计数量,包括平均,最小,最大数量. Rows examined,扫描的行数量. Database,属于哪个数据库 Users,哪个用户,IP,占到所有用户执行的sql百分比 Query abstract,抽象后的sql语句 Query sample,sql语句。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |