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

    开启慢查询日志

    在配置文件my.cnf或my.ini中在 [mysqld] 一行下面加入两个配置参数

    slow_query_log = on     #开启慢查询
    long_query_time=1       #设置慢查询时间 1 s
    log-slow-queries="D:/phpStudy/MySQL/data/slow_query.log"  #旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件hostname-slow.log
    slow_query_log_file="D:/phpStudy/MySQL/data/slow_query.log" #新版(5.6及以上版本)慢查询日志保存路径 未指定slow_query_log_file的情况下,会自动生成一个以主机名+‘slow'.log 的文件
    log-queries-not-using-indexes = on #开启记录没有使用索引查询语句

    sql 查看慢查询配置

    show status like 'slow_queries';    #慢查询的次数 (默认是慢查询时间10s)
    show variables like 'long_query_time' ;   //可以显示当前慢查询时间
    set long_query_time=1 ;    //可以修改慢查询时间 当前会话有效,永久有效请修改配置文件

    慢查询记录到日志

    在默认情况下,低版本的mysql不会记录慢查询,需要在启动mysql时候,指定记录慢查询才可以

    binmysqld.exe –log-slow-queries=D:/abc.log [低版本mysql5.0可以在my.ini指定]

    该慢查询日志在mysql5.0这个版本中时放在 mysql安装目录/data/下;

    针对 mysql5.5启动慢查询有两种方法

      ① binmysqld.exe - -safe-mode - -slow-query-log

      ②在my.ini 文件中配置 [mysqld] 添加slow-query-log = on # 开启慢查询这个功能

    可以通过  slow_query_log_file="日志存放位置"指定目录,默认存放在 mysql5.5.19是在my.ini 的 datadir=“目录” ;

    在mysql5.6中,默认是启动记录慢查询的,my.ini其中有一个配置项 slow-query-log=1;

    慢查询相关命令

    mysql> show variables like '%slow%';
    +---------------------+---------------------------------------+
    | Variable_name       | Value                                 |
    +---------------------+---------------------------------------+
    | log_slow_queries    | OFF                                   |
    | slow_launch_time    | 2                                     |
    | slow_query_log      | OFF                                   |
    | slow_query_log_file | D:phpStudyMySQLdataAdmin-slow.log |
    +---------------------+---------------------------------------+
    mysql> show variables like '%long%';
    +---------------------------------------------------+-----------+
    | Variable_name                                     | Value     |
    +---------------------------------------------------+-----------+
    | long_query_time                                   | 10.000000 |
    | max_long_data_size                                | 1048576   |
    | performance_schema_events_waits_history_long_size | 10000     |
    +---------------------------------------------------+-----------+
    mysql> show variables like '%min%';
    +--------------------------+-------+
    | Variable_name            | Value |
    +--------------------------+-------+
    | ft_min_word_len          | 4     |
    | min_examined_row_limit   | 0     |
    | query_cache_min_res_unit | 4096  |
    +--------------------------+-------+

    相关文章:MySQL中EXPLAIN解释命令 查看索引是否生效

  • 相关阅读:
    【乱侃】How do they look them ?
    【softeware】Messy code,some bug of Youdao notebook in EN win7
    【随谈】designing the login page of our project
    【web】Ad in security code, making good use of resource
    SQL数据库内存设置篇
    关系数据库的查询优化策略
    利用SQL未公开的存储过程实现分页
    sql语句总结
    sql中使用cmd命令注销登录用户
    SQLServer 分页存储过程
  • 原文地址:https://www.cnblogs.com/xuey/p/9533223.html
Copyright © 2011-2022 走看看