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的配置文件,比如设置查询缓冲区的大小等等。

     

         

     

  • 相关阅读:
    Finalize,Dispose,SuppressFinalize
    防火防盗防微软,Firefox发布插件自动检测服务
    Nginx的Rewrite设置及示例
    Linux游戏开发包 ClanLib 2.1.0 发布
    HTTP协议详解(真的很经典)
    Linux on POWER:发行版迁移和二进制兼容性考虑事项
    映射网络驱动器VBS脚本
    [笔记] 使用 opcache 优化生产环境PHP
    2020最新版MySQL数据库面试题(三)
    请注意,面试中有这7个行为肯定会被拒绝!
  • 原文地址:https://www.cnblogs.com/zhangxue/p/7098214.html
Copyright © 2011-2022 走看看