MySQL でスリープ (sleep) させる

システム開発をしていると、テストや調査のために、データベース側でスリープ(sleep)させたい時があるかもしれません。

ここでは、MySQL で指定した期間、処理をスリープさせる方法をご紹介します。


MySQL の SLEEP() 関数を使ってスリープさせる

MySQL で指定した期間処理をスリープさせるには SLEEP() 関数が使えます。

SLEEP(秒数) のように秒数を指定し、指定した秒数だけ処理をスリープされます。

SELECT SLEEP(秒数);

SLEEP() 関数は成功した時に 0 を返し、途中で割り込まれたりすると 1 を返します。

戻り値を気にしなくて良い時は SELECT の代わりに DO 文を使うと、ほんの少し処理が速いという利点があります。

DO SLEEP(秒数);

例えば、5 秒間処理をスリープしたいような時は次のようにできます。

SELECT 'START';
DO SLEEP(5);
SELECT 'END';

[実行結果]

MySQL でスリープ (sleep) させる


普段の開発にはあまり使わないかもしれませんが、知っておくと便利です!

以上、MySQL で指定した期間、処理をスリープさせる方法をご説明しました。

© 2024 MySQL 入門