3

現在、次のことを行っています。

$mysqli = new mysqli($server, $username, $password, $database);

$mysqli->multi_query($multiUpdates);
while ($mysqli->next_result()) {;} // Flushing results of multi_queries
$mysqli->query($sqlInserts);

結果をダンプするより速い方法はありますか?

私はそれらを必要とせず、次のクエリを実行したいだけですが、エラーが発生します:

コマンドが同期していません。現在、このコマンドを実行することはできません

問題は、while ($mysqli->next_result()) {;}約2秒かかることです。これは、私が望まないことの無駄です。

より良い解決策はありますか?

4

1 に答える 1

3

500 レコードを更新して 500 レコードを挿入するときに約 2 ~ 3 秒節約できる、より高速なソリューションを見つけました。

function newSQL() {
    global $server, $username, $password, $database;
    $con = new mysqli($server, $username, $password, $database);
    return $con;
}

$mysqli = newSQL();
$mysqli->multi_query($multiUpdates);
$mysqli->close();

$mysqli = newSQL();
$mysqli->query($sqlInserts);
$mysqli->close();

それがどれほど実用的かはわかりませんが、速度には適しています。

于 2012-08-14T03:06:14.993 に答える