• mysql分析需要优化的语句


    要分析的sql语句是执行速度比较慢的。查找执行速度比较慢的sql语句。找到后,具体分析。

    一、慢查询日志

    慢查询日志是一种mysql提供的日志,记录所有执行时间超过某个时间界限的sql的语句。这个时间界限,我们可以指定。在mysql中默认没有开启慢查询,即使开启了,只会记录执行的sql语句超过10秒的语句。

    1. 如何开启慢查询日志

    打开mysql的配置文件,window系统下是my.ini / linux系统下是my.cnf

    max_connections=100:最大的连接数,默认是100

    log-slow-queries='man-log':指定慢查询日志的名称,默认是保存在和mysql的数据库文件同一个文件夹里面的。我们也可以自己知道存储位置,比如log-slow-queries=”d:/log”

    long_query_time=0.5:指定的时间界限。默认是10

    注意: 修改完成后,要重启mysql。

    2. 测试慢查询日志是否记录超过0.5秒的sql 语句。

    benchmark(count,expr)函数可以测试执行count次expr操作需要的时间。

    查看慢查询日志里面记录的sql语句的情况。

    在mysql的客户端进行查看慢查询日志的时间界限

    也可以更改该时间界限,只对当前会话有效。

    二、profiles机制

    该机制能够精确的记录执行sql语句的时间,能精确到小数点后8位

    开启方式:直接在 mysql的客户端进行开启

    set profiling=1|0(开启和关闭)

    查看记录的时间:

    show profiles

    注意:不适应时,最好将其关闭

    php当mysql的客户端,php代码如何实现。

    //开启
    $sql="set profiling=1";
    mysql_query($sql);
    //查询
    $sql="show profiles";
    mysql_query($sql);

    一个sql语句执行比较慢,大多数的原因是没有用到索引。

  • 相关阅读:
    VB.Net计算含日文的字符串长度
    修改三个属性,就可以让错误提示更详细
    ORACLE分页查询SQL语法
    探知主力仓位的原理
    Linux手机研发五大难关
    当SNS在垂直行业嫁接电子商务
    实时股票数据获取方式
    商业周刊:网民周末更爱移动Web 分类信息超社交
    Linux下的C编程实战
    想起了赵丹阳
  • 原文地址:https://www.cnblogs.com/chenjiacheng/p/6522570.html
Copyright © 2020-2023  润新知