mysql慢查询日志可视化_Mysql慢查询日志

Mysql慢查询日志

数据库的慢查询是影响项目性能的一大因素,对于数据库我们要优化SQL,首先要找到需要优化的SQL,这就需要我们知道sql执行时间等信息,除了使用SHOW PROFILES;外,mysql也提供了“慢查询日志”功能,用来记录查询时间超过某个设定值的SQL,这将极大程度帮助我们快速定位到症结所在,以便对症下药。

一、慢查询配置

关于慢查询日志,主要涉及三个参数:

slow_query_log :是否开启慢查询日志功能(必填)

long_query_time :超过设定值,将被视作慢查询,并记录至慢查询日志文件中(必填)

slow_query_log_file :慢查询日志文件(不必填),可以通过show variables like '%slow_query%';查询日志位置

打开慢查询日志有两种方式:

1. 通过命令行

不需要重启命令行,临时性的,退出mysql终端就失效。

# 以下操作管理员才有权限

mysql> set global slow_query_log = ON;

Query OK, 0 rows affected (0.04 sec)

# 设置查询“超时”时间(这里为了方便日志打印,将超过0.001s的都作为慢查询)

mysql> set GLOBAL long_query_time = 0.001;

Query OK, 0 rows affected (0.00 sec)

2. 通过配置文件

需要重启mysql

# 慢日志相关配置

slow_query_log = ON

long_query_time = 0.001

slow_query_log_file = /usr/local/mysql/data/slow.log

二、慢日志查询

如果操作正确,那么在日志里面就会看到类似下面的:

# Time: 200303 14:54:38

# User@Host: wangjun[wangjun] @ localhost []

# Thread_id: 47 Schema: scujoo QC_hit: No

# Query_time: 0.024923 Lock_time: 0.000130 Rows_sent: 3488 Rows_examined: 3488

# Rows_affected: 0 Bytes_sent: 354872

SET timestamp=1583218478;

select * from account;

/usr/sbin/mysqld, Version: 10.3.15-MariaDB-1-log (Raspbian testing-staging). started with:

Tcp port: 0 Unix socket: /run/mysqld/mysqld.sock

Time Id Command Argument

# Time: 200303 15:05:30

# User@Host: [root] @ localhost []

# Thread_id: 8 Schema: mysql QC_hit: No

# Query_time: 0.001743 Lock_time: 0.000168 Rows_sent: 1 Rows_examined: 1

# Rows_affected: 0 Bytes_sent: 252

use mysql;

SET timestamp=1583219130;

show variables like 'datadir';

# User@Host: [root] @ localhost []

# Thread_id: 10 Schema: QC_hit: No

# Query_time: 0.007002 Lock_time: 0.000238 Rows_sent: 36 Rows_examined: 69

# Rows_affected: 0 Bytes_sent: 2391

SET timestamp=1583219130;

select concat('select count(*) into @discard from `',

TABLE_SCHEMA, '`.`', TABLE_NAME, '`')

from information_schema.TABLES where TABLE_SCHEMA<>'INFORMATION_SCHEMA' and TABLE_SCHEMA<>'PERFORMANCE_SCHEMA' and ( ENGINE='MyISAM' or ENGINE='Aria' );

# Time: 200303 15:06:41

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值