都知道通过在MySQL中执行select sleep(N)可以让此语句运行N秒钟:

?
1
2
3
4
5
6
7
mysql> select sleep(1);
+----------+
| sleep(1) |
+----------+
|        0 |
+----------+
1 row in set (1.00 sec)

返回给客户端的执行时间显示出等待了1秒钟

借助于sleep(N)这个函数我们可以在MySQL Server的PROCESSLIST中捕获到执行迅速不易被查看到的语句以确定我们的程序是否确实在Server端发起了该语句。比如我们在调试时想确 定一下程序是否确确实实向Server发起了执行SQL语句的请求,那么我们可以通过执行show processlist或者由information_schema.processlist表来查看语句是否出现。但往往语句执行速度可能非常快,这样 的话就很难通过上述办法确定语句是否真正被执行了。例如下面语句的执行时间为0.00秒,线程信息一闪而过,根本无从察觉。

?
1
2
3
4
5
6
7
mysql> select name from animals where name='tiger';
+-------+
| name  |
+-------+
| tiger |
+-------+
1 row in set (0.00 sec)

在这种情况下,可以通过在语句中添加一个sleep(N)函数,强制让语句停留N秒钟,来查看后台线程,例如:

?
1
2
3
4
5
6
7
mysql> select sleep(1),name from animals where name='tiger';
+----------+-------+
| sleep(1) | name  |
+----------+-------+
|        0 | tiger |
+----------+-------+
1 row in set (1.00 sec)

同样的条件该语句返回的执行时间为1.0秒。

但是使用这个办法是有前提条件的,也只指定条件的记录存在时才会停止指定的秒数,例如查询条件为name='pig',结果表明记录不存在,执行时间为0

?
1
2
mysql> select name from animals where name='pig';
Empty set (0.00 sec)

在这样一种条件下,即使添加了sleep(N)这个函数,语句的执行还是会一闪而过,例如:

?
1
2
mysql> select sleep(1),name from animals where name='pig';
Empty set (0.00 sec)

另外需要注意的是,添加sleep(N)这个函数后,语句的执行具体会停留多长时间取决于满足条件的记录数,MySQL会对每条满足条件的记录停留N秒钟。
例如,name like '%ger'的记录有三条

?
1
2
3
4
5
6
7
8
9
mysql> select name from animals where name like '%ger';
+-------+
| name  |
+-------+
| ger   |
| iger  |
| tiger |
+-------+
3 rows in set (0.00 sec)

那么针对该语句添加了sleep(1)这个函数后语句总的执行时间为3.01秒,可得出,MySQL对每条满足条件的记录停留了1秒中。

?
1
2
3
4
5
6
7
8
9
mysql> select sleep(1),name from animals where name like '%ger';
+----------+-------+
| sleep(1) | name  |
+----------+-------+
|        0 | ger   |
|        0 | iger  |
|        0 | tiger |
+----------+-------+
3 rows in set (3.01 sec)

原文:http://www.2cto.com/database/201412/365580.html

关于MySQL的SLEEP(N)函数相关推荐

  1. oracle迁移mysql视图中函数问题,mysql中to_char自定义函数。

    迁移到mysql中会遇到函数迁移问题,我们可以自定义函数 DELIMITER $$ CREATE FUNCTION new_data_report.to_char(Intnumber int) RET ...

  2. mysql存储过程与自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> #mysql存储过程与自定义函数: delimiter $ 1.最简单的存储过程 create procedure test( ...

  3. MySQL 获得当前日期时间 函数

    MYSQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...

  4. MYSQL数值运算符和函数用法

    mysql也有数值运算,那么列出常见的函数 ceil() div() floor() mod() power() round() truncate()等等,具体说说MYSQL数值运算符和函数用法. 1 ...

  5. Mysql日期时间Extract函数介绍

    MySQL日期时间Extract函数的优点在于可以选取日期时间的各个部分,从年一直到微秒,让我们对MySQL日期时间的处理更为轻松. MySQL 日期时间 Extract(选取)函数. 1. 选取日期 ...

  6. mysql function加速_MySQL - 函数(FUNCTION)

    about MySQL提供了丰富的内置函数自定义函数. 而我们也对这些函数有所了解,比如聚合函数. 本篇再来了解一些内置函数和自定义函数的编写. 写在前面的话:默认情况下,函数名称和其后的括号之间必须 ...

  7. php mysql 随机字符串函数是,mysql生成随机字符串函数分享

    这篇文章主要介绍了mysql生成随机字符串函数分享,本文直接给出实现代码,需要的朋友可以参考下 set global log_bin_trust_function_creators = 1; DROP ...

  8. mysql常用日期时间函数_MySql常用日期时间函数

    返回当前的日期和时间 select MICROSECOND(SYSDATE()); --0 select SECOND(SYSDATE()); --33 select MINUTE(SYSDATE() ...

  9. MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解

    MySql UNIX_TIMESTAMP和FROM_UNIXTIME函数讲解 by:授客 QQ:1033553122 1. unix_timestamp(date)将时间转换为时间戳,如果参数为空,则 ...

  10. mysql学习-常用的函数(字符串函数)

    mysql中的字符串函数 函数 功能 CONCAT(s1,s2,...sn) 连接s1,s1...sn为一个字符串 INSERT(str,x,y,instr) 将字符串str从x位置开始,y个字符长的 ...

最新文章

  1. 软件测试(20150819)
  2. OS- -操作系统常见问题总结
  3. 【iCore3应用开发平台】发布 iCore3 应用开发平台出厂代码rev0.0.2
  4. 微软中山大学开源超强的视觉位置编码,涨点显著
  5. visual studio无法更新_VS Code Python 扩展 5 月更新
  6. Linux联网配置-IP 网关 DNS
  7. Linux服务器创建及维护记录
  8. C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】
  9. 【C语言】实现简易计算器
  10. DirectX修复工具使用技巧之二——手动修复C++创建失败的文件
  11. 启动优化之一——启动分析及优化方案
  12. 在博客右下角设置透明卡通小美女,附上源码
  13. 消金主流市场外的灰色地带:vivo应用商店聚集大量“伪现金贷平台”
  14. 《指定一个用户只能在特定的时间里不能登陆》『罗斌原创』
  15. CC2530F256RHAR -RF收发器封装:QFN40
  16. Freeswitch挂断原因汇总
  17. 计算机硬件安装实验报告,计算机硬件的组装实验报告.doc
  18. 《算法》-字符串[数据压缩]
  19. and门 simuilink_电力电子电路仿真——MATLAB和PSpice应用教学课件课件作者魏艳君第五章节幻灯片.ppt...
  20. IT忍者神龟之 Linux必学的60个命令

热门文章

  1. C# 大型对象堆学习总结
  2. Linux 新api eventfd(转)
  3. css 样式使用方法的累积
  4. Insufficient free space for journal files
  5. 3月29日 如何在winform中加入动态系统时间
  6. poj 1556 (Dijkstra + Geometry 线段相交)
  7. 重建输入表 - 脱壳篇04
  8. windowserver2008官方不提供POP3服务
  9. spring boot 邮件端口_不会吧,SpringBoot还能发送邮件发送邮件?快来看看如何操作吧
  10. 二分类2x2对角矩阵准确率表达式