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 で指定した期間、処理をスリープさせる方法をご説明しました。