我正在執行數千次循環內的更新查詢。使用單個查詢來更新多條記錄以提高性能
一切順利,但問題在於所有更新都需要大量時間。
如果我串聯/結合所有更新查詢在這樣一個字符串:
$update_query = "";
while(condition)
{
$update_query = $update_query . " update table set ... ; ";
}
然後執行$ update_query單的時候,這將是有幫助嗎?
還有什麼我可以做更好的表現?任何暗示或建議?
確保您使用的是行級鎖(存儲引擎InnoDB的是或其他與行級鎖定,myisam沒有這樣的),你有一個索引在你的where子句(在最好的情況下 - 一個唯一的索引)。您也可以關閉自動提交,並立即提交... –