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中文网其他相关文章!