zoukankan      html  css  js  c++  java
  • 优化mysql数据库的几个步骤

    分析问题的几个步骤:

      1. 开启慢查询日志。

        这个步骤就是为了记录慢查询的sql,为下个步骤做准备,此步骤相关的知识点有如下:

        1. show variables like '%slow_query_log%'; 查看慢查询的日志记录是否开启。

        2. set global slow_query_log=1;  设置慢查询开启。

      2. 用explain 分析sql 语句。

        ps: explain  select *  from temp 得到如下图所示:

          

       通过这个步骤的分析基本能找到问题出现在哪? 主要看红框的那几个点(type,key,ref,extra).。应该避免type为all,这就是说这个sql是通过全表扫描查找的,key代表这个sql实际是否用到了索引,null代表没有。ref 表示这个操作引用了那些东西,

      比如const(常量)。Extra 表示一些额外的信息。比如using index,using filesort(文件排序,尽量避免使用)。

      注释:如何查看步骤的执行顺序呢?  如果id相同,从上到下执行。如果id不同id大的先执行。

       

      3. 使用profile  来查看sql 的执行周期,看看sql的问题出错在执行的哪个步骤上。

        1. set profiling=1; 设置profile 功能开启。2. show profiles: 用来查看mysql 前十几条查询的。

          

        3.show profile for query id; 

          比如:show profile for query 2; 就是 查看 第二条sql 的执行生命周期,

          

     

     

       4. 修改mysql 数据库配置文件,这个步骤一般都是DBA 运维操作.

          这个步骤主要是修改mysql的配置文件,比如设置查询缓冲区的大小等等。

     

         

     

  • 相关阅读:
    26 转义符 re模块 方法 random模块 collection模块的Counter方法
    25 正则表达式
    24 from 模块 import 名字
    24 from 模块 import 名字
    24 from 模块 import 名字
    23 析构方法 items系列 hash方法 eq方法
    21 isinstance issubclass 反射 _str_ _new_ _len_ _call_
    20 属性, 类方法, 静态方法. python2与python3的区别.
    python(1)
    python之字符串格式化
  • 原文地址:https://www.cnblogs.com/zhangxue/p/7098214.html
Copyright © 2011-2022 走看看