快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → MySQL慢日志[慢查询]相关分析

MySQL慢日志[慢查询]相关分析

时间:2019-06-24 17:22:52人气:作者:快盘下载我要评论

 在实际工作中使用 mysql 时,执行一条语句需要很长时间返回,们称之为慢查询,一般来说,发生慢查询的原因有几个原因。我是遇到过一次,特意看到这篇文章留存一下。分享给大家。


MySQL慢日志[慢查询]相关分析


  • 你的索引设计有问题,可能会导致每次执行语句都是全表扫描,这样很耗费时间;

  • 你的 SQL 语句没有写好,可能会导致查询时间变长;

  • MySQL 选择了错误的索引,同样会导致全表扫描。

  • 数据库引擎选择错误。



通常情况下,在业务上线之前,会在测试环境里面,把 MySQL 的慢查询打开,也就是把 longquerytime 设置为 0,这样确保每一条语句都被记录到慢日志中去,具体的配置可以参考下文。


MySQL 的慢查询日志是MySQL提供的一种日志记录,它是用来记录在MySQL中响应时间超过阀值的语句。系统默认情况下,MySQL 并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。


慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。


默认情况下slowquerylog的值为OFF,表示慢查询日志是禁用的,可以通过设置slowquerylog的值来开启,如下所示:


MySQL慢日志[慢查询]相关分析


MYSQL开启慢查询日志:


MySQL慢日志[慢查询]相关分析


使用set global slowquerylog=1开启了慢查询日志只对当前数据库生效,如果MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)默认情况下longquerytime的值为10秒,在MySQL源码里是判断大于longquerytime,而非大于等于。从MySQL 5.1开始,longquerytime开始以微秒记录SQL语句运行时间,之前仅用秒为单位记录。如果记录到表里面,只会记录整数部分,不会记录微秒部分。



参数说明:


  • slowquerylog 慢查询开启状态;

  • slowquerylog_file 慢查询日志存放的位置;

  • longquerytime 查询超过多少秒才记录。










相关文章

  • 一步步带你设计MySQL索引数据结构

    一步步带你设计MySQL索引数据结构,想想我们生活中的例子,比如新华字典,我们有一个目录,目录根据拼音排序,内容包含了汉字位于字典中具体的的页码。聪明的你肯定也想到了,我们也可以借鉴这种思想,建立一个MySQL的目录,叫做“索引”。...
  • 影刀连接Mysql数据库

    影刀连接Mysql数据库,影刀配置连接mysql数据库基础版...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。