php - 在循环期间将 mysql 查询回显到屏幕时,php 脚本会变慢吗

标签 php mysql

如果我有一个将数据插入 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/

相关文章:

mysql - 我如何在 MySQL 中执行此查询?

c# - 为什么MySQL在C#代码中返回总是1,但在存储过程中测试时却不是?

php - 从数据库中删除最早 7 天的行

php - 将 $_POST 形成为数组

IF 内的 PHP 常量

php - 有人可以给我 Laravel 5 框架的 "type hinting"的定义吗

php - 正确的 Laravel 数据结构

mysql - 将 JSON_EXTRACT 与 CAST 或 STR_TO_DATE 链接失败

php - 使用onclick查询MySQL,在不刷新的情况下在同一页面上显示结果

php - 使用 HTML-ENTITIES 字符集替代 mb_convert_encoding