gpt4 book ai didi

php - MySqli 多个查询如何更快地处理结果

转载 作者:行者123 更新时间:2023-11-30 22:44:47 25 4
gpt4 key购买 nike

我必须插入数千条记录。我在一个循环中使用 msqli::multi_query() 并想要“multi_query” block 的 n 查询(其中“n”是一个参数)。第一个 INSERT 正常,第二个出错,因为我必须像这样管理结果:

while($mysqli->more_results())
{
$mysqli->next_result();

if($res = $mysqli->store_result()) // added closing bracket
{
$res->free();
}
}

问题是这个 chek 很慢。

问题是:我如何优化这个批量 INSERT 以更快地管理结果?

最佳答案

如果您要在一个表中插入,只需在 INSERT 中使用 batch mod。
示例:
INSERT INTO TABLE (field1,field2,field3) VALUES (value1,value2,value3),(value4,value5,value6)

在 php 中使用 forforeach 进行查询,然后只需使用 mysqli_query。根据您在评论部分提到的错误判断,您违反了 ket 限制,这意味着您试图两次插入相同的值。

如果你在不同的表中插入,你可以使用multi_query接口(interface)。准备一个查询 Insert1;Insert2;
并像这样使用 multi_query

  $con->multi_query($query);
while (mysqli_more_results($con)) {
mysqli_use_result($con);
mysqli_next_result($con);
}

关于php - MySqli 多个查询如何更快地处理结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com