mysql记录耗时的sql

mysql可以把耗时的sql或未使用索引的sql都记录在slow log里,供优化分析使用。

1.mysql慢查询日志启用:

mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?

mysql> show variables like 'log_slow_queries';

+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| log_slow_queries | OFF |

+------------------+-------+

1 row in set (0.01 sec)

mysql>

这说明slow log功能没有启用,要启用需要修改mysql的配置文件,在配置文件"[mysqld]"里添加如下俩参数:

long_query_time=1

log-slow-queries=/var/mysql/logs/slow.log

说明

long_query_time

此参数表示的是慢查询的度量时间,单位是秒,最小是1,缺省值是10,凡是执行时间超过long_query_time的sql语句都会记录到慢查询日志中

log-slow-queries[=file_name]

file_name参数可选,缺省值是host_name-slow.log,如果指定了file_name参数的话,mysql就会把慢查询的日志记录到file_name所设定的文件中,如果file_name提供的是一个相对路径,mysql会把日志记录到mysql的data目录中,这个参数只能在配置文件里添加,无法在命令行里执行。

2.将未使用索引查询也记录到slow log中的配置

在mysql的启动配置文件或命令行参数中增加“log_queries_not_using_indexes” 参数就可以把未使用索引查询语句添加到slow log里了。

样例如下:

[root@localhost mysqlsla-2.03]# more /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

log_bin=/tmp/mysql/bin-log/mysql-bin.log

log_bin=ON

socket=/var/lib/mysql/mysql.sock

user=mysql

# Default to using old password format for compatibility with mysql 3.x

# clients (those using the mysqlclient10 compatibility package).

old_passwords=1

log_slow_queries=/tmp/127_slow.log

long_query_time=1

log_queries_not_using_indexes

.......

重启mysql后,检查结果如下:

mysql> show variables like 'log_slow_queries';

+------------------+-------+

| Variable_name | Value |

+------------------+-------+

| log_slow_queries | ON |

+------------------+-------+

1 row in set (0.00 sec)

mysql> show variables like 'long_query_time';

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| long_query_time | 2 |

+-----------------+-------+

1 row in set (0.00 sec)

mysql>

以上就是mysql记录耗时的sql实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

mysql 记录_mysql记录耗时的sql实例详解相关推荐

  1. php mysql修改命令_PHP编程:mysql alter table命令修改表结构实例详解

    <PHP编程:mysql alter table命令修改表结构实例详解>要点: 本文介绍了PHP编程:mysql alter table命令修改表结构实例详解,希望对您有用.如果有疑问,可 ...

  2. mysql 创建删除表_mysql创建删除表的实例详解

    表的创建命令需要: 表的名称 字段名称 定义每个字段(类型.长度等) 语法 下面是通用的SQL语法用来创建MySQL表: CREATE TABLE table_name (column_name ...

  3. oracle 记录给游标,Oracle游标 CURSOR实例详解

    一.游标概述: 游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给变量做进一步处理. 作用 ...

  4. mysql查询性能测试工具_MySQL性能测试工具MySQLslap使用实例详解

    原标题:MySQL性能测试工具MySQLslap使用实例详解 MySQLslap是MySQL(了解干货请戳:干货!超过500行的Mysql学习笔记)自带的基准测试工具,优点:查询数据,语法简单,灵活容 ...

  5. mysql修改表结构例子_mysql修改表结构方法实例详解

    本文实例讲述了mysql修改表结构方法.分享给大家供大家参考.具体如下: mysql修改表结构使用ALTER TABLE语句,下面就为您详细介绍mysql修改表结构的语句写法,希望对您学习mysql修 ...

  6. mysql批量删除数据sql语句_mysql批量删除数据sql语句详解

    1.like与 in批量删除指定记录 like语法 like主要是用来模糊查询了 sql = "delete from A where field like '%ABC%'" 这个 ...

  7. mysql 过程if语句,mysql存储过程之if语句用法实例详解

    这篇文章主要介绍了mysql存储过程之if语句用法,结合实例形式详细分析了mysql存储过程中if语句相关原理.使用技巧与操作注意事项,需要的朋友可以参考下 本文实例讲述了mysql存储过程之if语句 ...

  8. MySQL中你可能忽略的COLLATION实例详解

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 前言 MySQL 数据库 ...

  9. mysql通过集合查询_MySQL使用集合函数进行查询操作实例详解

    本文实例讲述了MySQL使用集合函数进行查询操作.分享给大家供大家参考,具体如下: COUNT函数 SELECT COUNT(*) AS cust_num from customers; SELECT ...

  10. mysql添加新的实例_MySQL中添加新用户权限的实例详解

    有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表.比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些. 下面的例子显示出如何使用MySQL客户安装新用户. ...

最新文章

  1. 再见QQ,再见QQ游戏!
  2. 当前主流、最新网络技术回眸(二)
  3. 如何将通达信的预警股票发送到微信
  4. 自己建服务器 语音盒子_自建sip语音服务器
  5. 4种实例 advice aop_Java动态代理在Spring的应用:AOP编程与动态代理知识
  6. 转角遇上Volcano,看HPC如何应用在气象行业
  7. 鸿蒙系统对小米的影响,“小米用鸿蒙系统”乌龙会对后续有影响吗
  8. mysql一次运行多个SQL文件
  9. Vue使用nextTick的原因和作用
  10. 千行代码入门python-要学 Python 需要怎样的基础?
  11. python打开文本文档_带声明的Python –带打开的文件
  12. mysql 事务_详解mysql如何做事务
  13. JAVA设计模式之3-抽象工厂模式
  14. Postgresql源码(33)Btree索引读——整体流程_bt_first
  15. word怎么转pdf,word批量转pdf方法
  16. 2020.10.30文献1:《滇中引水工程香炉山隧洞地应力特征及其活动构造响应》
  17. MongoDB——explain执行计划详解
  18. php pdo函数说明,PHP PDO函数库详解,pdo函数库详解
  19. STM32——TIM1的TIM1_CH1N通道PWM初始化
  20. SQL Server数据库的管理及维护

热门文章

  1. List 去除重复数据的 5 种正确姿势!
  2. 实用!Mybatis中trim标签的使用教程
  3. 网上找的一段代码突然爆了,项目出现大Bug!
  4. 130 个相见恨晚的超实用网站,一次性分享出来,十倍提高工作效率
  5. 【12张手绘图】我搞懂了微服务架构!
  6. Google 中国开发者大会最后一天报名!
  7. java addmonth_JAVA:int month = n.get(Calendar.MONTH)+1;为何要加1?
  8. mysql 事务_MySQL事务隔离级别
  9. mybatis 多数据源_Spring Boot 整合Mybatis实现多数据源配置及踩过的坑
  10. Linux中级之netfilter/iptables应用及补充