慢查询

慢查询1

一.什么是慢查询
指MYSQL记录所有执行超过long_query_time参数设定的时间阈值的SQL语句。慢查询日志就是记录这些SQL的日志

二.代码查询
Show status like ‘uptime’; 获取当前数据库运行的时间
Show status ‘com_Select’;
Show status like ‘connections’;
Set global long_query_time =1; 改变慢查询的时间 默认是10秒
Show variables like ‘long%’

Mysqld.exe --safe-mode --slow -query -log 以安全模式启动mysql服务

三.索引的分类的分类
1.通过Explain分析执行低效SQL的执行计划
2.通过show profilefe 分析SQL

慢查询2

Mysql 5.5 配置

	创建一个文件夹 里边有个 log结尾的文档
	右键文件夹 添加 -- 高级 -- 立即查找 -- exea....
	
	在my.ini 下配置
	log_slow_queries=ON  
	long_query_time=2                                 
	slow_query_log=ON  
	log_queries_not_using_indexes=ON  
	slow_query_log_file="D:/MysqlLog/slow.log"

Mysql 5.7 配置

查询当前mysql数据库是否开启了慢查询日志功能:
show VARIABLES like ‘%slow%’;

			slow_query_log的值是ON,代表当前数据库已经开启了慢查询功能。
			slow_query_log_file表示慢日志的路径。
	或使用show variables like 'slow_query_log_file';命令也可以查看慢查询日志的路径
	
	还可以查看超过多少秒算是慢查询:
			show VARIABLES like 'long_query_time';

设置慢查询时间
		set global long_query_time=4;
设置之后再次查询使用
		show global variables like 'long_query_time';


查询有多少条慢查询
		show global status like '%Slow_queries%';

查看慢查询日志的存储方式
show variables like ‘%log_output%’;
设置
set global log_output=‘TABLE’;

该系统变量指定未使用索引的查询也被记录到慢查询日志中(可选项)。

如果调优的话,建议开启这个选项。

另外,开启了这个参数,其实使用full index scan的SQL也会被记录到慢查询日志。

	mysql> show variables like 'log_queries_not_using_indexes';
	 +-------------------------------+-------+
	 | Variable_name                 | Value |
	 +-------------------------------+-------+
	 | log_queries_not_using_indexes | OFF   |
	 +-------------------------------+-------+
	 1 row in set (0.00 sec)
	设置
	mysql> set global log_queries_not_using_indexes=1;
	 Query OK, 0 rows affected (0.00 sec)
	
	mysql> show variables like 'log_queries_not_using_indexes';
	 +-------------------------------+-------+
	 | Variable_name                 | Value |
	 +-------------------------------+-------+
	 | log_queries_not_using_indexes | ON    |
	 +-------------------------------+-------+
	 1 row in set (0.00 sec)

查看 log_queries_not_using_indexes 是否为on
show variables like ‘log%’;
将 log_queries_not_using_indexes 设置为on
set global log_queries_not_using_indexes = on;
再次查看log_queries_not_using_indexes
show variables like ‘log%’;(查看是否开启)
2 设置慢查询的时间(sql运行时间超过设定,此sql将被记录到慢查询日志当中去)
查看long_query_time
show variables like ‘long_query_time’;
设置long_query_time(单位为秒)
set global long_query_time = 0.1;
打开新的会话,查看long_query_time
注意:打开新的会话窗口后在查看

3 查看慢查询日志所在位置,开启慢查询
show variables like ‘slow%’;

	slow_query_log_file  表示慢查询日志存放的位置
	slow_query_log 表示慢查询功能是否开启

开始慢查询日志
set global slow_query_log = on;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值