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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
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 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配置文件,加入以下代码:
-
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
随机推荐
- python下载文件记录黑名单的实现代码
- 基于angularJS的表单验证指令介绍
- webpack配置文件和常用配置项介绍
- ant使用指南详细入门教程
- Mac下获取AppStore安装包文件路径
- Linux系统中设置多版本PHP共存配合Nginx服务器使用
- 合并有序数组的实现(java与C语言)
- Android自定义控件之基本原理(一)
- 防止服务器宕机时MySQL数据丢失的几种方案
- js实现一个链接打开两个链接地址的方法
- 我的Node.js学习之路(一)
- jQuery页面元素动态添加后绑定事件丢失方法,非 live
- jquery实现手机号码选号的方法
- Sql Server临时表和游标的使用小结
- MyBatis快速入门之环境搭建和单表映射
- 使用RoundedBitmapDrawable生成圆角图片的方法
- Android中实现HashMap排序的方法
- Android Activity进出动画三种方法
- 解决vue+webpack打包路径的问题
- javascript匿名函数中的'return function()'作用