MySQL SLEEP() Function
In MySQL, the SLEEP()
function pauses (sleeps) the current query for the specified number of seconds.
SLEEP()
Syntax
Here is the syntax of the MySQL SLEEP()
function:
SLEEP(duration)
Parameters
duration
- Required. The sleep duration in seconds. It should be greater than or equal to 0, and can have a fractional part.
Return value
The MySQL SLEEP()
function pauses (sleeps) the query for the specified number of seconds, then returns 0
, or returns 1
if the pause was interrupted.
The SLEEP()
function will generate a warning if the argument duration
is negative or NULL
, or an error in strict mode.
If SLEEP()
is the only thing called in a query, it returns 1
after being interrupted.
If SLEEP()
is a part of a query, it returns an error after being interrupted.
SLEEP()
Examples
This example is combined with the SYSDATE()
function to demonstrate the functionality of SLEEP()
.
SELECT
SYSDATE(),
SLEEP(10),
SYSDATE();
+---------------------+-----------+---------------------+
| SYSDATE() | SLEEP(10) | SYSDATE() |
+---------------------+-----------+---------------------+
| 2022-05-07 22:03:22 | 0 | 2022-05-07 22:03:32 |
+---------------------+-----------+---------------------+
1 row in set (10.07 sec)
Here, we saw the following things:
SLEEP(10)
returned0
.- The return value of the second
SYSDATE()
function is 10 seconds later than the firstSYSDATE()
function. This is because the middleSLEEP(10)
pauses the query for 10 seconds. 1 row in set (10.07 sec)
told us that the entire query took a total of 10.7 seconds. If there is not aSLEEP(10)
in the statement, it would be fast.