zoukankan      html  css  js  c++  java
  • MySQL“慢SQL”定位

    MySQL“慢SQL”定位

    数据库调优我个人觉得必须要明白两件事
    	1.定位问题(你得知道问题出在哪里,要不然从哪里调优呢)
    	2.解决问题(这个没有基本的方法来处理,因为不同的问题处理的方式方法不一样,
    得从实践中不断的探索,如sql调优,配置优化,硬件升级等等) 
    

    这一篇文章将会教会你如何来定位一个慢查询的sql,如果你是一个初学者,很想知道在mysql
    中如何来定位哪些sql语句是花时间最长的。

    步骤1:查询是否开启了慢查询

    show variables like '%slow%'; 
    
    下面会输出相关的信息 
    +---------------------+-----------------------------+ 
    | Variable_name       | Value                       | 
    +---------------------+-----------------------------+ 
    | log_slow_queries    | ON                          | 
    | slow_launch_time    | 2                           | 
    | slow_query_log      | ON                          | 
    | slow_query_log_file | /data/mysql-slow/mysql-slow | 
    +---------------------+-----------------------------+ 
    我这里是开启了,没有开启的,直接set log_slow_queries on 就ok了。 
    

    步骤2:设置慢查询的时间限制

    mysql默认的慢查询时间是10秒,可以设置成其它的时间。 
    show variables like 'long_query_time'; 
    set long_query_time=1; 
    

    步骤3:查看慢查询

    show status like 'slow_queries'; 
    它会显示慢查询sql的数目,具体的sql就在上面的Log file日志中可以看到。 
    
    你也可以看到当前有多个连接在上,使用命令 show status like 'connection' 
    
    其它命令 
    show processlist: 查看哪些线程在运行; 
    show open tables:查看哪些表在使用。
  • 相关阅读:
    Sql 格式化日期
    shape 格式标准
    flex 状态
    flex 特效集
    invalidateProperties
    flex for循环
    关于继承
    win32常见寄存器register
    asm寻址方式
    java jni调用 非托管 dll
  • 原文地址:https://www.cnblogs.com/WONDERFUL-cnblogs/p/5481358.html
Copyright © 2011-2022 走看看