2012-08-14 59 views
2

我目前做如下:mysqli的multi_query接着是查詢

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

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

是否有傾銷的結果更快的方法?

我不需要他們,只是想運行一個查詢,但是我得到的錯誤:

Commands out of sync; you can't run this command now

問題是while ($mysqli->next_result()) {;}大約需要2秒,這是什麼東西,我不想浪費。

有更好的解決方案嗎?

+0

http://stackoverflow.com/questions/22531943/speed-best-practice-flushing-mysqli-multi-query – 2014-03-21 09:38:36

回答

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(); 

不知道它有多實用,但對速度效果很好。