mysql慢查询使用详解
作者:hebedich 发布时间:2024-01-25 05:07:18
标签:mysql,慢查询
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语句记录到慢查询日志文件中。
配置完毕后重启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%'; #查看慢查询语句的次数
在日志文件中可以看到已经记录了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表示查询超过两秒才记录;


猜你喜欢
- 本文实例为大家分享了python pygame实现五子棋双人联机的具体代码,供大家参考,具体内容如下同一局域网内,服务端开启时,另一机器将I
- 1.执行时间 window.onl
- 在我的上篇文章发出之后,我听到对“WEb2.0视觉风格”这个称谓的不认同声音。其实这并不出乎我的意料,因为,我在认真的开始思考“WEb2.0
- 先看看效果:效果-点击弹出弹框 -点击复选框,已选div中 显示已选中的选项 -再次点击取消选中状态,已选div中 显示的选中选项取消显示
- 与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。
- 这段时间常给来面试的同学用《 你是一个职业的页面重构工作者吗? 》中三个部分的不同阶段去做自测,发现很多人都自我感觉良好,给我的回答基本都是
- 本文实例讲述了mysql聚簇索引的页分裂。分享给大家供大家参考,具体如下:在MySQL中,MyISAM采用的是非聚簇索引的,InnoDB存储
- 示例如下:function addFileToZip($path,$zip){ $handler=opendir($path);
- 前言终于下定决心学习Python了。既然从头开始,就需要认认真真。首先需要说的是,我是初学Python,这篇文章只是用于展示global和n
- 本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下:基于信息增益的特征选取是一种广泛使用在决策树(de
- 对于 link 元素 和 style 元素 我相信大家都比较了解,但对于他们的出现位置可能有误解。在 淘宝 的所有频道中出现这样一个问题:频
- 贪食蛇是一个非常经典的游戏, 在游戏中, 玩家操控一条细长的直线(俗称蛇或虫), 它会不停前进, 玩家只能操控蛇的头部朝向(上下左右), 一
- mysql select into给多个字段变量赋值在into之后顺序写上要赋值的变量就行SELECT
- 去除数字,特殊字符,只保留汉字import res = '1123*#$ 中abc国'str = re.sub('[
- Celery简介Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度
- 前言容器数据类型包括数组list,字典dict以及元组tuple等。本篇,将详细介绍ChainMap字典序列的使用。ChainMapChai
- 简介这个模块处理python中常见类型数据和Python bytes之间转换。这可用于处理存储在文件或网络连接中的bytes数据以及其他来源
- xml(可扩展标记语言)看起来可能像某种w3c标准——现在没有什么实际影响,即使以后能派上用场,也是很久以后的事。但实际上,它现在已经得到了
- 1. sys 模块Python 中的 sys 模块具有 argv 功能。当通过终端触发 main.py 的执行时,此功能将返回提供给 mai
- 修改字符串本身是不可能的,因为字符串是不可变类型,只能是通过某些方法来产生它的副本。再把副本赋值给原字符串,达到类似替换的作用。这里介绍几种