zoukankan      html  css  js  c++  java
  • MySQL优化(四) 慢查询的定位及优化

    一、SQL语句优化的一般步骤:

    (1)通过 show status 命令了解各种 SQL 的执行效率;

    (2)定位执行效率较低的 SQL 语句(重点是 Select);

    (3)通过 explain 分析低效率的 SQL 语句的执行情况;

    (4)确实问题并采取相应的优化措施;

    二、优化

    1、show status 命令

     格式: show [session | global] status like ... 

       如果不写[session | global],默认的是session,即取出当前回话的执行情况;

     如果想查询所有的(即MySql启动到现在的信息), 则增加 global 参数;

    show status like "uptime"  //查询MySql启动的时间;
    show status like "com_select" //查询MySql的查询次数
    show status like "com_insert" //查询MySql的插入次数
    show status like "com_update" //查询MySql的更新次数
    show status like "com_delete" //查询MySql的删除次数 
    show global status like "uptime"  //查询MySql启动的时间;
    show global status like "com_select" //查询MySql的查询次数
    show global status like "com_insert" //查询MySql的插入次数
    show global status like "com_update" //查询MySql的更新次数
    show global status like "com_delete" //查询MySql的删除次数 
    show global status like "connections" //查询MySQL的连接数
    show global status like "slow_queries" //获取慢查询的次数

     

    2、如何查看和修改慢查询的时间?

    默认情况下,MySql认为超过 10 秒才是一个慢查询;

    (1)显示当前慢查询设置的时间:show variables like "long_query_time" ;

    (2)修改慢查询的设置时间为1秒:set long_query_time=1

    这时如果出现一条语句执行时间超过 1 秒, 就会统计到 show global status like "slow_queries" 查询的结果中;

    3、如何把慢查询的 sql 记录到日志中?

    默认的情况下,mysql不会记录慢查询的 sql 日志;

    慢查询的启动:https://www.cnblogs.com/luyucheng/p/6265594.html

    慢查询的启动及慢查询日志分析:https://blog.csdn.net/timchen525/article/details/75268151

    扩展知识

    (1)一般情况下,分号作为命令结束符;在写的存储过程或函数中也有分号,如果不将命令结束符修改,则会使存储过程或函数提前结束;所以为了存储过程或函数能够正常执行,我们需要修改命令结束符。

      delimiter $$

    (2)删除自定义函数 rand_string 

      drop function rand_string $$

     

  • 相关阅读:
    SuperSocket 服务管理器 (ServerManager)
    在Linux/Unix上运行SuperSocket
    SuperSocket
    添加SuperSocket的启动代码到 Windows Azure 的 WorkRole 项目
    Struts2中文件的上传与下载
    解决eclipse中找不到jar包问题
    SSH框架的搭建与配置文件的书写格式
    jxl导出Excel
    CentOS下yum安装mysql,jdk以及tomcat
    如何控制WAP网站上输入框的默认键盘类型
  • 原文地址:https://www.cnblogs.com/yufeng218/p/10029862.html
Copyright © 2011-2022 走看看