MySQL开启Slow慢查询的方法示例
前言
在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析每条sql执行的状态与性能从而进行优化了。
本文就来给大家介绍了关于MySQL开启Slow慢查询的相关内容,下面话不多说,来一起看看详细的介绍吧
方法如下:
1:登录数据库查看是否已经开启了Slow慢查询:
mysql> show variables like 'slow_query%';
2:开启Mysql slow日志:
默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启:( 此处为临时开启,重启服务后失效,如想永久失效切记在myqsl配置文件中添加语句,看文末 )
mysql> set global slow_query_log=1; Query OK, 0 rows affected (0.03 sec)
3:查看是否开启:
mysql> show variables like 'slow_query%';
4:写入mysql slow语句测试是否写入slow数据:
mysql> select sleep(10) as a, 1 as b;
5:查看Mysql Slow 文件,是否写入数据:
至此,完成以上Mysql slow开启作业!
--------------------------
永久开启Mysql Slow日志:
slow_query_log_file 慢查询日志文件路径
slow_query_log 用于指定是否打开慢查询日志
long_query_time 超过多少秒的查询就写入日志
log_output=file必须指定file或者是table如果是table则慢查询信息会保存到mysql库下的slow_log表中。这点要清楚。默认值是NONE
打开my.cnf配置文件,加入以下代码:
log_output=file slow_query_log=on ; slow_query_log_file = /tmp/mysql-slow.log long_query_time = 2
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
mysql正确安全清空在线慢查询日志slow log的流程分享
1, see the slow log status; mysql> show variables like '%slow%';+---------------------+------------------------------------------+| Variable_name | Value |+---------------------+-------------------------------
-
MySQL开启慢查询日志log-slow-queries的方法
一个普通WEB站点的页面常常需要查询N条SQL语句后才能得出页面结果,当网站访问速度慢而前端做了大量优化工作以后,数据库瓶颈的查找也是WEB优化的一个重要部分. MySQL中提供了一个慢查询的日志记录功能,可以把查询SQL语句时间大于多少秒的语句写入慢查询日志,日常维护中可以通过慢查询日志的记录信息快速准确地判断问题所在. 开启慢查询功能 log-slow-queries 慢查询日志文件路径 long_query_time 超过多少秒的查询就写入日志 打开my.cnf配置文件,加入以下代码:
-
mysqldumpslow用法示例(慢查询)
mysqldumpslow是mysql自带的用来分析慢查询的工具 经常使用几个命令 -s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default -t NUM just show the top n queries -g PATTERN grep: only consider stmts that include this string -r Reverse the sort order -s,是order的顺序,主要有 c
-
MySQL开启Slow慢查询的方法示例
前言 在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析每条sql执行的状态与性能从而进行优化了. 本文就来给大家介绍了关于MySQL开启Slow慢查询的相关内容,下面话不多说,来一起看看详细的介绍吧 方法如下: 1:登录数据库查看是否已经开启了Slow慢查询: mysql> show variables like 'slow_query%'; 2:开启Mysql slow日志: 默认情况下slow_query
-
MySQL 参数相关概念及查询更改方法
前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥.本篇文章我们来聊聊 MySQL 参数,学习下如何管理维护 MySQL 参数. 1.MySQL参数概念 我们所说的参数在官方文档中称为 系统变量 (system variable),不同的变量有着不同的作用. MySQL 服务端维护了许多表示其配置的系统变量,所有变量均有默认值.一般可以在启动命令行中或配置文件中对它们进行设置. 系统变量分为全局系统变量(global)和会话系统变量(sessi
-
mysql拆分字符串作为查询条件的示例代码
目录 mysql.help_topic REPLACE LENGHT substring_index 分析 有个群友问一个问题 这表的ancestors列存放的是所有的祖先节点,以,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个dept_id该怎么查 然后我去网上找到这样一个神奇的sql,改改表名就成了下面的这样 SELECT substring_index( substring_index( a.ancestors, ',', b.help_topic_id + 1 ),
-
MySQL使用临时表加速查询的方法
本文实例讲述了MySQL使用临时表加速查询的方法.分享给大家供大家参考.具体分析如下: 使用MySQL临时表,有时是可以加速查询的,下面就为您详细介绍使用MySQL临时表加速查询的方法. 把表的一个子集进行排序并创建MySQL临时表,有时能加速查询.它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作.例如: 复制代码 代码如下: SELECT cust.name,rcVBles.balance,--other columns SELECT cust.name,rcVBles.bala
-
MySql中使用正则表达式查询的方法
正则表达式常用来检索和替换那些符合魔种模式的文本.例如从一个文本文件中提取电话号码,查找一篇文章中重复的单词或者替换用户输入的某些敏感词汇等.Mysql 使用 REGEXP 关键字指定正则表达式的字符匹配模式. 1. 字符 '^' 查询以特定字符或字符串开头的记录 SELECT * FROM user WHERE email REGEXP '^a' 字符 '^' 匹配以特定字符或字符串开头的记录,以上语句查询邮箱以 a 开头的记录 2. 字符 ' 查询以特定字符或字符串结尾的记录 SELECT
-
mysql 定时任务的实现与使用方法示例
本文实例讲述了mysql 定时任务的实现与使用方法.分享给大家供大家参考,具体如下: mysql5.1.6增加了一个事件调度器(Event Scheduler),可以做定时任务(定时删除记录,定时数据统计),取代之前系统的计划任务.mysql事件调度器可以精确到每秒执行一个任务. 事件调度器与触发器的区别:事件调度器是基于特定时间周期来触发执行某些任务,触发器是基于某个表产生的事件来触发. 一.查看是否开启 > show variables like 'event_scheduler'; 二.开
-
MySQL中进行跨库查询的方法示例
前言 在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询:另一种是不同服务的跨库查询:它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询. 一.同服务的跨库查询 同服务的跨库查询只需要在关联查询的时候带上数据名,SQL的写法是这样的:SELECT * FROM 数据库1.table1 x JOIN 数据库2.table2 y ON x.field1=y.field2:例如: 二.不同服务的跨库查询 不同服务的跨库查询,直接通过数据名加表明是无法进行关联的,这里需要用到MySQL数
-
JPA的多表复杂查询的方法示例
最近工作中由于要求只能用hibernate+jpa 与数据库进行交互,在简单查询中,jpa继承CrudRepository接口 ,然后利用jpa的方法命名规范进行jpql查询,然而在进行复杂查询时,需要继承JpaSpecificationExecutor接口 利用Specification 进行复杂查询,由于我自己就遇到了这一问题,查了好多资料,虽然有方法,但是都没有一个详细的讲解,以至于知道方法而不能很好的利用jpa复杂查询的方便之处.我将举几个栗子,来详细的说一下我自己在使用jpa多表复杂查
-
Mysql中时间戳转为Date的方法示例
前言 在工作中遇到一个情况: 日志系统的表中,时间字段存储的是13位时间戳timestamp而不是日期数据,而在业务中,我们需要通过时间和ip来进行分组查询给定日期的数据. 当然你可以选择在业务层先将传入的日期转为时间戳,再去进行查询,但是既然mysql既然可以直接进行转换,那么省去在业务层的操作何乐而不为呢? 1.首先介绍一下mysql中将时间戳和日期互相转换的函数: 时间戳转换成日期FROM_UNIXTIME(): FROM_UNIXTIME(1429063399,'%Y-%m-%d %H:
-
MyBatis使用Map与模糊查询的方法示例
当我们的实体类.或者数据库里的表.字段或者参数很多,这个时候考虑使用map 一.使用map传参插入数据 1.编写Dao接口/Mapper层 使用Map做参数 //Dao接口/Mapper层 使用Map传参 int addUser2(Map<String,Object> map); 2.编写Mapper.xml中的sql语句 <!-- 传递map的key--> <insert id="addUser2" parameterType="map&quo
随机推荐
- sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享
- IOS自定义UIView
- Java Class 解析器实现方法示例
- 用JS生成UUID的方法实例
- php表单习惯用的正则表达式
- thinkPHP基于ajax实现的菜单与分页示例
- php学习笔记 [预定义数组(超全局数组)]
- Android开发之在程序中时时获取logcat日志信息的方法(附demo源码下载)
- Android Listview滑动时不加载数据 停止时加载数据
- Android 去掉状态栏的方法汇总
- 基于JavaScript代码实现pc与手机之间的跳转
- windows系统下Python环境的搭建(Aptana Studio)
- 如何控制SQLServer中的跟踪标记
- js仿百度贴吧验证码特效实例代码
- JS实现控制文本框的内容
- Android中微信抢红包助手的实现详解
- 从零开始学android小示例程序
- javafx实现图片3D翻转效果方法实例
- Android PopupWindow实现右侧、左侧和底部弹出菜单
- Vue项目分环境打包的实现步骤