首页 > 编程知识 正文

关闭mysql慢查询日志,sql数据库日志

时间:2023-05-06 02:55:01 阅读:12365 作者:614

Mysql抛出查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要参考依据,是一项非常实用的功能。 MySQL抛出查询日志的打开和配置非常简单,可以指定记录的文件(或表),超过的时间阈值等可以记录在慢SQL中。 老实说,这不仅仅是与sqlserver跟踪或扩展事件进行比较(

1 .打开滚动查询日志

通常,只需将slow_query_log=1配置文件添加到配置文件中。 也就是说,如果打开了滚动查询日志,但未指定slow_query_log_file,则会自动生成主机名为“‘slow'.log的文件。

2、默认情况下,记录慢速查询的时间阈值为10s

默认情况下,在使用slow_query_log=1启动MySQL时,将打开一个具有主机名“‘slow'.log的默认文件,并记录超过10s的滚动查询

也可以显式指定低速查询的日志文件名(如果不存在,将自动创建)和记录低速查询的时间阈值)。 不是默认的10s。

注意如果在配置文件中指定long_query_time,则不需要时间单位。 只需要一个值。 例如,1表示1s。 如果拥有时间单位,则无法启动服务。

以下是记录在日志文件中的低速sql的示例

3、在表中记录低速查询日志

配置:要在表中记录慢速查询,必须添加log_output的配置

mysql库下面是缺省的slow_log表,您可以直接将slow_query_log_file=slow_log记录在表中。

记录的slow sql如下所示: 您可以看到sql_text是二进制信息,而不是原始sql文本

用转换函数转换就可以了。

关于低速查询记录在日志文件和表中的区别:

1 )滚动查询记录在日志文件和表中,记录本身差别不大。 在表中记录的情况下,滚动查询的执行时间信息微妙地不准确

2 )在表中记录滚动查询消息可以方便地查询,但因为是结构化数据,所以可能比在滚动查询日志文件(平面文本文件)中记录的速度慢一些) (个人推测)。 如果要记录到文件中,则必须使用mysqldumpslow工具进行分析。

3 )滚动查询不记录执行失败的查询。 例如,如果long_query_time设置为10(10秒),且一个查询超过10秒,则无法在MySQL抛出查询中记录此查询信息,因为其他原因导致执行失败。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。