• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql慢查询使用详解

mysql慢查询使用详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql 子查询详解,mysql详解,mysql数据类型详解,mysql配置文件详解,mysql explain详解等相关知识,希望本文的分享对您有所帮助

1 慢查询定义
指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句。慢查询日志就是记录这些sql的日志。

2 开启慢查询日志
找到mysql配置文件my.cnf.在mysqld的下面添加

log-slow-queries = D:/MySQL/log/mysqld-slow-query.log  #日志存在的位置。(注意权限的问题,可以不用设置,系统会给一个缺省的文件host_name-slow.log)
long-query-time = 5   #SQL执行时间阈值,默认为10秒。
#log-long-format   #说log-long-format选项是用来设置日志的格式,它是以扩展方式记录有关事件。扩展方式可记录谁发出查询和什么时候发出查询的信息。可使我们更好地掌握客户端的操作情况。
#log-slow-admin-statements  #将慢管理语句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE记入慢查询日志。
log-queries-not-using-indexes #如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中。
</div>

配置完毕后重启mysql服务。

3 测试  
为了方便 我只在my.cnf中配置了慢查询日志的路径.

mysql 版本为 5.1.73

关于 long_query_time :从mysql 5.1开始,long_query_time开始以微秒记录SQL语句运行时间,之前仅用秒为单位记录。这样可以更精确地记录SQL的运行时间,供DBA分析。

进入mysql.

mysql> show VARIABLES like "%slow%"; #查看慢查询日志相关的信息
mysql> set global long_query_time=0.01;  #将mysql位置的值改为 0.01
mysql> show variables like "long_query_time"; #查看是否生效
mysql> select sleep(2); #延迟2秒执行 注:这条sql执行完毕以后应该已经在慢查询的日志文件中产生相关的信息记录
mysql> show global status like '%slow%'; #查看慢查询语句的次数
</div>

在日志文件中可以看到已经记录了sql.

总结:

Windows下开启MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2

Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2

注意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;
long_query_time=2中的2表示查询超过两秒才记录;

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mysql慢查询使用详解

相关文章

  • 2017-05-11使用innodb_force_recovery解决MySQL崩溃无法重启问题
  • 2018-12-05实例学习SQL的Select命令
  • 2018-12-05关于查询异常的相关文章汇总
  • 2018-12-05Windows10下mysql5.5数据库命令行中文乱码解决方案
  • 2017-05-11MySQL数据库的23个注意事项
  • 2017-05-11基于mysql时间处理函数的应用详解
  • 2017-05-11Mysql启动与数据库的创建方法[图文]
  • 2017-05-11MySQL数据库中的安全设置方案
  • 2018-12-05Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
  • 2018-12-05分享mysql数据库常见的优化操作

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • php mysql localhost,127.0.0.1和ip区别
    • PL/SQL 类型格式转换
    • SQL Server导入、导出、备份数据方法
    • Xtrabackup使用指南 InnoDB数据备份工具
    • Oracle数据库技术(37)
    • oracle关键字作为字段名使用方法
    • MySQL优化—运算符具体详解(图)
    • 分析MySQL中索引引引发的CPU负载飙升的问题
    • MySQL中的运算符使用实例展示
    • Mysql中关于连接(join)查询详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有