
php循环json数组批量插入数据库
前端提交一个json数组传递过来,需要循环将数据插入数据库中。此类场景,可能会遇到数据量大,一次性插入会影响数据库性能的情况。
解决方案:
推荐采用分批处理的方式插入数据,例如将5000条数据分成5批,每批1000条。
立即学习“PHP免费学习笔记(深入)”;
按照批次生成sql语句,进行批量插入操作。示例代码如下:
$datas = trim($_POST['datas']);
$data = json_decode($datas);
$batchSize = 1000;
$sql = "INSERT INTO tablename (id, name, ...) VALUES";
$values = [];
for ($i = 0; $i < count($data); $i++) {
if ($i % $batchSize === 0) {
$sql .= " (" . implode(", ", array_keys($data[$i])) . ")";
}
$values[] = array_values($data[$i]);
}
$sql .= " (" . implode(", ", array_keys($data[count($data) - 1])) . ")";
$stmt = $dbHandle->prepare($sql);
$stmt->execute($values);分批处理的优点:
以上就是PHP批量插入数据库:如何高效处理前端提交的大量JSON数组数据?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号