嗨,我試圖寫在我需要設置睡眠時間對於每一行,然後只要繼續處理設定睡眠時間while循環在PHP
更新腳本的過程是如此巨大和不能立即完成(切換拉丁-1字符集到UTF-8)然後我需要在每一行轉換後的睡眠時間
這是一個通常的工作代碼轉換爲utf-8但睡眠時間doesn沒有工作,一次又一次地完成。
ob_implicit_flush();
$result = $db->sql_query("SHOW TABLES");
while ($row = $db->sql_fetchrow($result)) {
$db->sql_query("ALTER TABLE $row[0] COLLATE $collation");
$result1 = $db->sql_query("SHOW COLUMNS FROM $row[0]");
while ($row1 = $db->sql_fetchrow($result1)) {
if (preg_match('~char|text|enum|set~', $row1["Type"])) {
$db->sql_query("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] CHARACTER SET binary");
$db->sql_query("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] COLLATE $collation" . ($row1["Null"] ? "" : " NOT NULL") . ($row1["Default"] && $row1["Default"] != "NULL" ? " DEFAULT '$row1[Default]'" : ""));
}
echo"sleep for 2 seconds ....<br> $row[0] is already converted.";
// wait for 2 seconds
usleep(2000000);
// back!
echo date('h:i:s') . "\n";
}
}
這個過程可能是「巨大的」,但你可以通過PHP「堆棧」MySQL查詢。該過程不會比沒有堆棧(或查詢之間的時間...)更長。你所做的一切可能會讓它更長。 PHP引擎!= MySQL引擎 – Shikiryu 2010-11-09 09:03:32
謝謝,但請不要介意寫一個示例腳本作爲答案? – 2010-11-09 09:08:46