首页 > 文章列表 > PHP海量JSON数据批量入库:如何高效处理5000条以上数据?

PHP海量JSON数据批量入库:如何高效处理5000条以上数据?

460 2025-01-30

PHP海量JSON数据批量入库:如何高效处理5000条以上数据?

php中从json数组循环插入数据库

前端传输过来的json数组$data包含海量数据,需要批量插入到数据库中。我们可以使用分批处理的方式来解决这一问题。

假设需要插入5000条数据,我们可以将数据分割成5批,每批1000条。然后生成5条单独的批量插入sql语句,每条语句插入1000条数据。

// 将JSON数据转换为数组
$data = json_decode($_POST['datas']);

// 将数据分割成5批
$batches = array_chunk($data, 1000);

// 生成批量插入SQL语句
foreach ($batches as $batch) {
    $sql = "INSERT INTO tablename (column_name1, column_name2, ...) VALUES ";
    foreach ($batch as $row) {
        $sql .= "('" . implode("', '", $row) . "'), ";
    }
    $sql = substr($sql, 0, -2) . ";"; // 删除最后的逗号和分号

    // 执行批量插入SQL语句
    $result = mysqli_query($conn, $sql);
}

这种分批处理的方式可以有效提高插入速度,并防止由于sql语句过大而发生超时错误。

来源:1733004040