zoukankan      html  css  js  c++  java
  • MySQL性能优化(一)--慢查询

    一、慢查询概念

            慢查询的全称为慢查询日志,在mysql的配置文件中设置SQL操作的时间阀值,我们将超过这个阀值的SQL操作称之为慢查询;

            这里所说的慢查询并不是限指select操作,如果insert,update,delete等SQL操作也有超时的,那也是会记录在慢查询日志中的;

    二、慢查询参数配置相关

           1、查看是否开启慢查询

           首先要说明一点,如果你在进行测试时,性能方面没有什么问题,那么mysql的慢查询是不建议开启的,开启的话也会在一定程度上影响MySQL的性能;

           如何查看慢查询是否开启;

           show variables  like 'slow%';

           

           slow_query_log=ON  那么说明慢查询操作开启;

           slow_launch_time : SQL操作的时间阀值

           slow_query_log_file:  慢查询日志存放地址

           2、如何通过全局变量找开慢查询操作

           set @@global.slow_query_log = ON;

           3、通过修改my.ini慢查询的配置:

           我所安装的MySQL是windows版本 5.6的

           3.1  找到MySQL 5.6版本的my.ini文件

          该文件默认存在于 C:ProgramDataMySQLMySQL Server 5.6

         

        3.2  修改my.ini文件

         打开my.ini文件,查看是否有相关慢查询日志的参数;    

      

      如果有则按照自己的需要进行修改,如果没有则添加以下几项就可以了:

      log-output=FILE  # 表示日志信息将用文件的形式存放

      slow-query-log=1 # 表示慢查询日志打开状态

      slow_query_log_file = 文件存放目录 # 可以自定义日志文件的存放目录,比如我这里定义的mysql_log文件夹中

      long_query_time =2 # 表示设置的时间阀值为2秒,时间单位为秒,一般设置为5-10S

      3.3 重启MySQL服务

         修改了my.ini文件,重启一下MySQL服务是最好的

         SQL举例:

         操作语句:select sleep(5);  

         查看慢查询日志文件:

         

        日志文件中会记录该SQL语句的详细信息;

        4、将日志信息存放在表中;

        MySQL允许将日志信息存放在数据库表中,存放的表名称为:mysql.slow_log

       4.1  修改记录日志的方式

       方法一:

           set @@global.log_output='TABLE';

       方法二:修改my.ini文件

      log-output=TABLE  # 表示日志信息存放于表中

        4.2 查看表中的日志信息

        select * from my.slow_log;

       如图所示:

        好了,以上就是MySQL性能优化的第一步操作了,认识和配置慢查询操作,更多技术交流请加QQ群:1085210541;

  • 相关阅读:
    hdu5119 DP
    poj3692 最大点权独立集/最大独立集
    poj2125 最小点权覆盖集
    二分图总结
    poj2531 Network Saboteur
    poj1573 Robot Motion
    poj2632 Crashing Robots
    poj1068
    动态规划的思考(三)
    代刷题目分类(三)
  • 原文地址:https://www.cnblogs.com/luoman/p/12561519.html
Copyright © 2011-2022 走看看