如果我有一个将数据插入 mysql 表的循环,我将查询回显到屏幕上是否会减慢脚本的速度以产生显着差异?
for ($a=1;$a<=10000;$a++){
$ins = "INSERT into (number) values (".$a.")";
$stmt = $db->query($ins);
echo $ins."\n";
}
最佳答案
实际上,对于您的情况,回显并不是非常耗时,但是通过迭代插入单个列值例如 10K 次有点耗时,对于您的情况,您在循环内为一列插入 10K 行。您可以像这样用单个查询插入多行-
INSERT INTO number(a) VALUES (4),(6),(7);
With MYSQL, You can include multiple lists of column values, each enclosed within parentheses and separated by commas
更具体地说,是这样的——
$numbers = [];
for ($a=1;$a<=10000;$a++){
$numbers[] = '('.$a.')';
}
$b = implode(",", $numbers);
$ins = "INSERT into (number) values $b";
$stmt = $db->query($ins);
echo $ins."\n";
关于php - 在循环期间将 mysql 查询回显到屏幕时,php 脚本会变慢吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56874527/