2010-11-26 16 views
33

my other question ile ilgili olarak bugün MySQL's SLEEP(duration)'un nasıl kullanılacağını merak ediyorum.SLEEP(), MySQL'de nasıl ve ne zaman kullanılır?

SELECT ... 
SLEEP(1); /* wait for a second before another SELECT */ 
SELECT ... 

Yani o zaman için iyi nedir: Ben MySQL Dokümanlar MySQL Dev forumlar ve çok muğlak bir açıklama okuma ben bu şekilde kullanamaz toplanan kadarıyla

?

+6

mysql belgelerinin okunmasına dayanarak, ilk önce yolunuzu denedim, mysql belgelerini okuduktan sonra hiçbir zaman yararlı bilgilerle birlikte yürümedim, Konerak'a çok basit bir cevap için teşekkürler ... – Landon

+0

@ Landon, Iroh'un cevabı daha iyi. – Pacerier

cevap

48
SELECT ... 
SELECT SLEEP(5); 
SELECT ... 

Peki bunun için ne kullanıyorsunuz? Muteksleri veya işlemleri atlatmaya/yeniden keşfetmeye mi çalışıyorsunuz?

+0

Açıkçası ... şerefe! –

+22

Yavaş sorgu günlüğünün gerektiği gibi çalıştığını onaylamak için bu komutu kullanıyorum. – jeffatrackaid

+0

@jeffatrackaid Yeah! Yalnız değilim – rahmanisback

39

SELECT SLEEP(1); istemezseniz, ayrıca DO SLEEP(1); Çıktısını görmek istemediğiniz yordamlar için yararlıdır.

örn.

SELECT ... 
DO SLEEP(5); 
SELECT ... 
+3

Bu kabul edilen cevap olmalı. 'Uyku' çıktısı her zaman 0'dır. Neden kimse 'uyku' çıkışını seçmekten rahatsız olur ..... – Pacerier

+0

@Pacerier: Bu cevap 5 yıl sonra ortaya çıktı, ama örnek DO'den daha doğrusu DO kullanıyor SEÇ. Büyük ipucu SLEEP'in kendisini gösteren bir komut değil, daha ziyade her iki yanıtın da gösterdiği, ancak bu cevabı kabul edildiği şekilde işaretlemekte serbest olduğunu gösteren bir şeydi. – Konerak

+1

@Pacerier uyku çıkışını seçmek için bir nedenden dolayı, örneğin, eşzamanlı sorgularda kilitleme ve işlem yalıtımı seviyelerini test etmek için bir sorguya koymaktır. –

1

Muteks vb. Hakkında konuşanlar için, çok sayıda uygulama vardır. Bazen sunucuların sessiz olduğunu bildiğim günlerde daha sonra çalıştırmak için bir betik istiyorum. Girişe girene kadar beklemek yerine, sleep() kullanıyorum.

+6

Fikrinizi daha sonra değiştirdiyseniz, bir crontab iptal edilebilir. – rahmanisback

+0

Bu bir yorum olmalı, cevap değil. – NieDzejkob

İlgili konular