美文网首页
5.4.5 慢查询日志

5.4.5 慢查询日志

作者: 月雨灵枫 | 来源:发表于2017-11-04 13:17 被阅读17次

  慢查询日志包含执行时间超过long_query_time秒的SQL语句,并且至少需要检查min_examined_row_limit行。long_query_time的最小值和默认值分别为0和10。该值可以指定到微妙级别。保存到文件的日志将包含微妙部分的信息,保存到表格的日志则只能保留整数部分的时间,微妙部分将忽略。
  默认情况下管理语句和未使用索引的查询不会被记录。可以通过设置log-slow_admin_statements和log_queries_not_using_indexes环境变量改变默认行为。
  获取初始锁的时间不计入执行时间。mysqld在语句执行完毕且释放了所有锁后写入日志,因此日志顺序可能与执行顺序不同。
默认情况,慢查询日志被禁用。要明确指定最初的慢查询日志状态,使用--slow_query_log[={0|1}]。不带参数或一个值为1的参数启用日志。参数为0禁用日志。指定日志文件名使用--slow_query_log_file=file_name。指定日志目的地使用--log_output。旧有启用慢查询日志变量--log_slow_queries已不推荐使用。
  如果未指定慢查询日志文件名,默认文件名为host_name-slow.log。服务器在data目录创建该文件除非指定不同绝对路径的文件名。
  通过设置全局变量slow_query_log和slow_query_log_file在运行时禁用或启用慢查询日志,改变日志文件名。设置slow_qyuery_log为0(或OFF)禁用日志或1(或ON)启用日志。设置slow_query_log_file指定日志文件名。如果有日志文件已被打开,那么将被关闭并打开新的文件。
  当慢查询日志启用,服务器将输出写到--log-output参数或log_output系统变量指定的目的地。当启用了日志,服务器将打开日志并写入开始消息。然而,除非选择了FILE日志目标,否则不会进一步将查询记录到文件。当目标为NONE,及时启用了慢查询日志,服务器也不会写入查询。如果日志目标不包含FILE,设置日志文件名称对日志记录没有影响。
  如果使用--log-short_format选项,服务器只写少量信息到慢查询日志。
  要将缓慢的管理语句写进慢查询日志需使用--log-slow-admin-statements选项。管理语句包括ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, and REPAIR TABLE。
  要将不使用索引的查询写到慢查询日志,需使用log_queries_not_using_indexes系统变量。当此类查询被记录,慢查询日志的体积可能会快速增长。
  服务器控制参数按照以下顺序决定是否将查询记录到慢查询日志。
  1. 查询必须不是管理语句或者--log-slow-admin-statements参数被指定。
  2. 查询必须消耗至少long_query_time秒,或者log_queries_not_using_indexs必须被启用且查询未使用索引进行行查找。
  3. 查询必须检查至少min_examined_row_limit行。
服务器不会将有查询缓存处理的查询写入慢查询日志,也不会记录未因索引受益的查询(由于表中只有零行或一行记录)。
  默认情况下,复制从服务器不会将复制的查询写入慢查询日志。可使用--log-slow-slave-statements选项改变这一行为。
  慢查询日志应该被保护,因为日志语句可能包含该密码。
  慢查询日志可以用来查找花费恒昌时间执行的查询,因此是优化的可选择方式。然而检查一个很长的慢查询日志可能成为意向艰巨的任务。为了简化操作,可以使用mysqldumpslow命令处理慢查询日志,以总结出现在日志中的查询。

相关文章

  • 5.4.5 慢查询日志

      慢查询日志包含执行时间超过long_query_time秒的SQL语句,并且至少需要检查min_examine...

  • 数据库配置项的查询与修改

    以慢查询日志参数为例 查询慢查询日志是否开启 全局开启慢查询日志

  • 一天一道面试题——数据库篇10(mysql 问题排查)

    慢查询日志 查看是否开启了慢查询日志 开启慢查询日志 查看慢查询日志设置的阈值 explain explain显示...

  • MySQL-慢查询

    开启慢查询 临时 永久添加慢查询日志, 慢查询状态 查看慢查询阈值时间 设置慢查询阈值时间 日志 文件日志定义目录...

  • mysql慢查询

    通用查询日志和慢查询日志。 (1)通用查询日志 (2)慢查询日志 清空slow.log表

  • 开启MySQL慢查询日志

    查询慢日志开关是否开启 打开慢查询日志开关 再次查询,发现开关打开了 查询mysql安装路径 慢查询日志默认是放在...

  • MySQL 查询分析

    慢查询 慢查询日志查看慢查询日志开启情况show variables like '%slow_query_log%...

  • Mysql-日志-慢查询日志

    本篇文章主要记述Mysql慢查询的学习过程,内容目录如下:慢查询日志是什么?慢查询日志开启和配置慢查询日志相关操作...

  • Mysql 慢查询日志

    Mysql 慢查询日志 慢查询日志 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中...

  • mysql慢查询日志

    mysql慢查询日志 1.慢查询日志 2.查看配置 3.临时开启慢查询日志 4.通过sql语句检查 5.关闭慢查询...

网友评论

      本文标题:5.4.5 慢查询日志

      本文链接:https://www.haomeiwen.com/subject/wkefmxtx.html