嗨,我试图写在我需要设置睡眠时间对于每一行,然后只要继续处理设定睡眠时间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