MySQL中sleep函数的特殊现象示例详解
前言
MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象。如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有关。
如下测试所示:
mysql>createtabletest(idint); QueryOK,0rowsaffected(0.03sec) mysql>select*,sleep(6)fromtest; Emptyset(0.00sec) mysql>insertintotestvalues(1); QueryOK,1rowaffected(0.00sec) mysql>select*,sleep(6)fromtest; +------+----------+ |id|sleep(6)| +------+----------+ |1|0| +------+----------+ 1rowinset(6.00sec) mysql>insertintotestvalue(2); QueryOK,1rowaffected(0.01sec) mysql>select*,sleep(6)fromtest; +------+----------+ |id|sleep(6)| +------+----------+ |1|0| |2|0| +------+----------+ 2rowsinset(12.00sec)
测试总结:
如果,select*,sleep(n)fromtable,如果表记录为空,不会休眠,如果表记录一条,那么休眠时间为1*n,如果表记录为2,那休眠时间为:2*n............依此类推。
官方文档中,12.24MiscellaneousFunctions没有提及这个现象,实在不知如何解释这种情况。推测了几种情况,都一一否定了。暂时先记录一下这个问题。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。