SLEEP statement
The SLEEP statement is used to introduce a delay or pause in the execution of a query or a batch of queries for a specific amount of time.
Statement syntax
Example usage
The following query shows example usage of this statement.
For more dynamic usage of sleep, see SurrealDB's sleep function.
SLEEP during parallel operations
A SLEEP statement does not interfere with operations that are underway in the background, such as a DEFINE INDEX statement using the CONCURRENTLY clause.
Use cases
SLEEP can be useful in a small number of situations, such as:
Testing and debugging: can be used to understand how concurrent transactions interact, test how systems handle timeouts and delays, simulate behaviour in more distant regions with longer latency
Throttling: can be used to throttle the execution of operations to prevent the database from being overwhelmed by too many requests at once
Security measures: can be used to slow down the response rate of login attempts to mitigate the risk of brute force attacks