MySQLi 中的批次資料插入技術:效能最佳化
當面臨向MySQL 資料庫插入大量資料的任務時,考慮效能和安全性性至關重要。雖然使用準備好的語句可以防止 SQL 注入,但使用多個查詢的簡單實作可能效率低。
放棄單一查詢方法
嘗試使用一次插入所有值單一查詢雖然對效能很有吸引力,但可能會導致堆疊溢位。解決方案在於在保持安全性的同時優化流程。
基於事務的方法
要顯著提高效能,請將插入包含在事務中。這允許將多個插入視為單一工作單元,從而避免昂貴的資料庫往返。
代碼優化
以下代碼片段說明了優化方法:
$array = ["array", "with", "about", "2000", "values"]; $query = "INSERT INTO table (link) VALUES (?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param("s", $one); $mysqli->query("START TRANSACTION"); foreach ($array as $one) { $stmt->execute(); } $stmt->close(); $mysqli->query("COMMIT");
基準測試結果
10,000次迭代的基準測試顯示效能大幅提升:
這意味著顯著的兩個數量級速度提升,證明了基於事務的方法的有效性。
以上是事務如何最佳化 MySQLi 中的批次資料插入以增強效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!