| 您的当前位置:首页 --> MYSQL教程 --> 深入mysql慢查询设置的详解 |
| MYSQL教程 深入mysql慢查询设置的详解 |
| 浏览次数:1230 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:深入mysql慢查询设置的详解 |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢?MySQL给我们提供了一个很好的功能,那就是慢查询!所谓的慢查询就是通过设置来记录超过一定时间的SQL语句!那么如何应用慢查询呢? 1.开启MySQL的慢查询日志功能 复制代码 代码如下: slow_query_log long_query_time = 1 2.测试慢查询日志功能 (1)进入MySql控制台,执行如下语句: 复制代码 代码如下: select sleep(2); mysql> select sleep(2); +----------+ | sleep(2) | +----------+ | 0 | +----------+ 1 row in set (2.12 sec) (2)查看慢查询日志文件think-slow.log,在文件最后发现: 复制代码 代码如下: # Time: 121120 20:06:23 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 2.104120 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=1353413183; select sleep(2); 3.解释: (1)slow_query_log 这句是开启记录慢查询功能,slow_query_log=0关闭;slow_query_log=1开启(这个1可以不写) (2)long_query_time = 1 这句是记录超过1秒的SQL执行语句 (3)那么这个日志文件存放在什么地方呢? (4)如果日志文件不想放在data目录,我们可以通过如下配置指定存放的目录及日志文件名: 4.如何记录低于1s的慢查询记录呢? 复制代码 代码如下: set global long_query_time=0.1 该句是设置记录慢查询超过时间100ms的SQL,记住要重启mysql才能生效! (2)测试 进入mysql控制台,执行如下sql语句: 复制代码 代码如下: select sleep(0.5); 查看慢查询日志文件,我们看到最后添加的新信息: 复制代码 代码如下: # Time: 121120 20:42:06 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 0.500028 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=1353415326; select sleep(0.5); |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 如何使用索引提高查询速度 |