慢查询日志开启(phpstudy环境)

本文介绍了MySQL的慢查询日志功能,用于记录执行时间超过设定阈值的SQL语句。默认情况下,慢查询日志是关闭的,可以通过设置long_query_time参数来定义慢查询的时间标准。开启慢查询日志的步骤包括检查当前状态、设置log_queries_not_using_indexes、开启slow_query_log,并确定日志记录位置。慢查询通常发生在大表未建立索引的查询上。
摘要由CSDN通过智能技术生成

一、概念:
MySQL的慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中(日志可以写入文件或者数据库表,如果对性能要求高的话,建议写文件)。默认情况下,MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。
一般来说,慢查询发生在大表(比如:一个表的数据量有几百万),且查询条件的字段没有建立索引,此时,要匹配查询条件的字段会进行全表扫描,耗时查过long_query_time,则为慢查询语句。

二、开启步骤:
1、检查是否开启:

show variables like 'slow_query_log';

2、查看配置:

show variables like '%log%';

3、开启log_queries_not_using_indexes:
(如果值设置为ON,则会记录所有没有利用索引的查询(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON),一般在性能调优的时候会暂时开启。)

set global log_queries_not_using_indexes=on;

4、开启慢查日志:

set global slow_query_log=on;

5、查询慢查日志记录位置:

show variables like 'slow%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值