zoukankan      html  css  js  c++  java
  • mysql慢查询

    慢查询:就是记录执行时间较长的query,也就是我们常说的slowquery,通过设--log-slow-queries[=file name]来打开该功能并设置记录位置和文件名。不指定的话系统活默认指定一个
    host_name_slow.log
    慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容
    。其中记录了语言执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息
    Mysql还提供了专门来分析慢查询日志的工具程序   mysqlslowdump,用来帮助数据库管理人员解决可能存在的性能问题
    
    配置mysql慢查询
    第一种:
    配置文件中配置:
    • 在mysql配置文件my.cnf中增加:log-slow-queries=/opt/data/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
    long_query_time=2 (记录超过的时间,默认为10s)
    log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
    •Windows:
    •在my.ini的[mysqld]添加如下语句:
    log-slow-queries = E:webmysqllogmysqlslowquery.log
    long_query_time = 2(其他参数如上)
    重启服务
    第二种执行命令:
    •set global slow_query_log=on;
    •set global long_query_time=1;#设置记录查询超过多长时间的sql
    •set global slow_query_log_file=‘/opt/data/slow_query.log’;#设置mysql慢查询日志路径,此路径需要有写权限
    •这种方式不用重启mysql服务。
    
    •SHOW VARIABLES LIKE '%query%';
    •使用这个语句可以看到当前mysql慢查询是否开启,以及mysql的慢查询日志文件在哪。
    •slow_query_log      #是否开启慢查询
    •slow_query_log_file  #日志的存放位置
    •long_query_time      #超过多少秒的查询就写入日志
  • 相关阅读:
    Linux进程管理概述
    【反转单链表】一篇就够了
    线性数据结构
    Linux的su和sudo有什么区别?如何使用?
    关于CentOS切换中文输入法的问题
    MySQL 初识
    MySQL 增-删-改操作
    数据库简介
    MySQL 查询操作
    HANDLER Statement
  • 原文地址:https://www.cnblogs.com/lingxia/p/6292980.html
Copyright © 2011-2022 走看看