gpt4 book ai didi

PHP MySQL快速插入多行

转载 作者:行者123 更新时间:2023-11-28 23:17:49 25 4
gpt4 key购买 nike

目前,我正在使用准备好的语句插入一堆带有下面代码的行:

更新代码:

$sql = $mysqli->prepare("INSERT INTO `TBLName` (Col1, Col2, Col3) Values(?, ?, ?)");
for ($i = 0; $i < 1000; $i++) {
$sql->bind_param('sss', $Col1Data, $Col2Data, $Col3Data);
$sql->execute();
}
$sql->close();

但是,我看到一篇文章谈到 Transaction 变得更快...我可以将 transaction 与准备好的语句结合使用还是应该以不同的方式使用它?假设我必须在每次脚本运行时插入 1000 行,并且脚本以 5 秒的间隔触发,对我来说最好的方法是什么?

最佳答案

我建议在单个 INSERT 语句中插入 100 到 1000 行。 (我认为如果不进行更多更改,您提供的代码将无法工作。)

然后使用 autocommit=1 或在 TRANSACTION 中执行 100-1000 行。这样做的好处是不会占用系统,也不会收集大量数据以潜在地“撤消”。但缺点是不能以原子方式处理所有行。

少于 100 会导致额外开销;超过 1000 人陷入 yield 递减和其他形式的开销。

100-1000 也是复制友好的,而不是占用复制流。

如果您已经将数据保存在 csv 文件中,请使用 LOAD DATA

关于PHP MySQL快速插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090295/

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