2012年5月15日火曜日

SLEEP関数と時刻の巻き戻り


閏秒関連でテストしてみたら、面白い事に気付いた。


+----------+
| SLEEP(5) |
+----------+
|        0 |
+----------+
1 row in set (1 min 12.84 sec)



SLEEP中に、dateコマンドで時間を1分ちょっと巻き戻している。
てっきり、タイマーが割り込む回数を数えてSLEEPしてるんだと思ってたけど、
割り込みのタイミングで現在時刻とSLEEPを開始した時刻を比較してSLEEPから抜けるのね。

逆のことやる(SLEEP中に時刻を進める)と、何事もなかったかの様にさっくりと裏付けてくれる。


+----------+
| SLEEP(5) |
+----------+
|        0 |
+----------+
1 row in set (1.59 sec)



でも、()の中のクエリ所要時間は合ってるんだなぁ。。こっちは割り込みで取ってるのかな。
で、スロウログは単純なクエリの完了時刻と開始時刻の差分なので、5秒が乗ると。

…っと、完了時刻と開始時刻の差が負数になる時のテストをしようと思ったのに。

0 件のコメント :

コメントを投稿